Import kf6-kconfig_6.10.0.orig.tar.xz
authorAurélien COUDERC <coucouf@debian.org>
Fri, 10 Jan 2025 22:22:51 +0000 (23:22 +0100)
committerAurélien COUDERC <coucouf@debian.org>
Fri, 10 Jan 2025 22:22:51 +0000 (23:22 +0100)
[dgit import orig kf6-kconfig_6.10.0.orig.tar.xz]

411 files changed:
.git-blame-ignore-revs [new file with mode: 0644]
.gitignore [new file with mode: 0644]
.gitlab-ci.yml [new file with mode: 0644]
.kde-ci.yml [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0644]
DESIGN [new file with mode: 0644]
KF6ConfigConfig.cmake.in [new file with mode: 0644]
KF6ConfigMacros.cmake [new file with mode: 0644]
LICENSES/BSD-2-Clause.txt [new file with mode: 0644]
LICENSES/BSD-3-Clause.txt [new file with mode: 0644]
LICENSES/CC0-1.0.txt [new file with mode: 0644]
LICENSES/GPL-2.0-or-later.txt [new file with mode: 0644]
LICENSES/LGPL-2.0-only.txt [new file with mode: 0644]
LICENSES/LGPL-2.0-or-later.txt [new file with mode: 0644]
LICENSES/LGPL-2.1-only.txt [new file with mode: 0644]
LICENSES/LGPL-3.0-only.txt [new file with mode: 0644]
LICENSES/LicenseRef-KDE-Accepted-LGPL.txt [new file with mode: 0644]
LICENSES/MIT.txt [new file with mode: 0644]
README.md [new file with mode: 0644]
TODO [new file with mode: 0644]
autotests/CMakeLists.txt [new file with mode: 0644]
autotests/dbussanitizertest.cpp [new file with mode: 0644]
autotests/fallbackconfigresources.qrc [new file with mode: 0644]
autotests/fallbackconfigresourcestest.cpp [new file with mode: 0644]
autotests/helper.h [new file with mode: 0644]
autotests/kconfig_benchmark.cpp [new file with mode: 0644]
autotests/kconfig_compiler/CMakeLists.txt [new file with mode: 0644]
autotests/kconfig_compiler/Test14Qml.qml [new file with mode: 0644]
autotests/kconfig_compiler/Test15Qml.qml [new file with mode: 0644]
autotests/kconfig_compiler/empty_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/enum_group_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/kconfigcompiler_test.cpp [new file with mode: 0644]
autotests/kconfig_compiler/kconfigcompiler_test.h [new file with mode: 0644]
autotests/kconfig_compiler/kconfigcompiler_test_signals.cpp [new file with mode: 0644]
autotests/kconfig_compiler/klocalizedstring.h [new file with mode: 0644]
autotests/kconfig_compiler/myprefs.h [new file with mode: 0644]
autotests/kconfig_compiler/signals_test.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/signals_test_no_singleton.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/signals_test_no_singleton_dpointer.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/signals_test_singleton.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/signals_test_singleton_dpointer.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/signals_test_singleton_itemaccessors.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test1.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test1.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test1.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test1.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test10.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test10.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test10.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test10.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test10main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test11.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test11.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test11.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test11.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test11_types.h [new file with mode: 0644]
autotests/kconfig_compiler/test11a.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test11a.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test11a.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test11a.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test11main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test12.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test12.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test12.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test12.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test12main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test13.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test13.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test13.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test13.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test13main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test14.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test14.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test14.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test14.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test14main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test14qml.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test15.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test15.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test15.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test15.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test15main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test15qml.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test1main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test2.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test2.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test2.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test2.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test2main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test3.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test3.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test3.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test3.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test3a.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test3a.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test3a.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test3a.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test3amain.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test3main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test4.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test4.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test4.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test4.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test4main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test5.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test5.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test5.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test5.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test5main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test6.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test6.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test6.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test6.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test6main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test7.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test7.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test7.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test7.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test7main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test8a.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8a.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8a.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test8a.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test8b.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8b.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8b.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test8b.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test8c.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8c.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test8c.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test8c.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test8main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test9.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test9.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test9.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test9.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test9main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_dpointer.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_dpointer.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_dpointer.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_dpointer.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_dpointer_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_emptyentries.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_emptyentries.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_emptyentries.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_emptyentries.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_emptyentries_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_enums_and_properties.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_enums_and_properties.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_fileextensions.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_fileextensions.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_fileextensions_main.cxx [new file with mode: 0644]
autotests/kconfig_compiler/test_notifiers.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_notifiers.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_notifiers.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_notifiers.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_notifiers_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_param_minmax.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_param_minmax.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_param_minmax.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_param_minmax.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_param_minmax_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_properties_minmax.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_properties_minmax.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_properties_minmax.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_properties_minmax.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_properties_minmax_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory_debug.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategory_debug.h [new file with mode: 0644]
autotests/kconfig_compiler/test_qdebugcategorymain.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_signal.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_signal.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_signal.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_signal.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_signal_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_state_config.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_state_config.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_state_config_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_subgroups.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_subgroups.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_subgroups.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_subgroups.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_subgroups_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_translation.kcfg [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde_domain.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde_domain.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde_domain.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde_domain_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_kde_main.cpp [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_qt.cpp.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_qt.h.ref [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_qt.kcfgc [new file with mode: 0644]
autotests/kconfig_compiler/test_translation_qt_main.cpp [new file with mode: 0644]
autotests/kconfigguitest.cpp [new file with mode: 0644]
autotests/kconfigguitest.h [new file with mode: 0644]
autotests/kconfigloadertest.cpp [new file with mode: 0644]
autotests/kconfigloadertest.h [new file with mode: 0644]
autotests/kconfigloadertest.xml [new file with mode: 0644]
autotests/kconfignokdehometest.cpp [new file with mode: 0644]
autotests/kconfigskeletontest.cpp [new file with mode: 0644]
autotests/kconfigskeletontest.h [new file with mode: 0644]
autotests/kconfigtest.cpp [new file with mode: 0644]
autotests/kconfigtest.h [new file with mode: 0644]
autotests/kdesktopfiletest.cpp [new file with mode: 0644]
autotests/kdesktopfiletest.h [new file with mode: 0644]
autotests/kentrymaptest.cpp [new file with mode: 0644]
autotests/kentrymaptest.h [new file with mode: 0644]
autotests/ksharedconfig_in_global_object.cpp [new file with mode: 0644]
autotests/ksharedconfigtest.cpp [new file with mode: 0644]
autotests/kstandardshortcuttest.cpp [new file with mode: 0644]
autotests/kstandardshortcuttest.h [new file with mode: 0644]
autotests/kstandardshortcutwatchertest.cpp [new file with mode: 0644]
autotests/kwindowstatesavertest.cpp [new file with mode: 0644]
autotests/sharedconfigresources.qrc [new file with mode: 0644]
autotests/test.ini [new file with mode: 0644]
autotests/test_kconf_update.cpp [new file with mode: 0644]
autotests/test_kconf_update.h [new file with mode: 0644]
docs/DESIGN.kconfig [new file with mode: 0644]
docs/Doxyfile.local [new file with mode: 0644]
docs/options.md [new file with mode: 0644]
metainfo.yaml [new file with mode: 0644]
poqm/af/kconfig6_qt.po [new file with mode: 0644]
poqm/ar/kconfig6_qt.po [new file with mode: 0644]
poqm/ast/kconfig6_qt.po [new file with mode: 0644]
poqm/az/kconfig6_qt.po [new file with mode: 0644]
poqm/be/kconfig6_qt.po [new file with mode: 0644]
poqm/be@latin/kconfig6_qt.po [new file with mode: 0644]
poqm/bg/kconfig6_qt.po [new file with mode: 0644]
poqm/bn/kconfig6_qt.po [new file with mode: 0644]
poqm/bn_IN/kconfig6_qt.po [new file with mode: 0644]
poqm/br/kconfig6_qt.po [new file with mode: 0644]
poqm/bs/kconfig6_qt.po [new file with mode: 0644]
poqm/ca/kconfig6_qt.po [new file with mode: 0644]
poqm/ca@valencia/kconfig6_qt.po [new file with mode: 0644]
poqm/cs/kconfig6_qt.po [new file with mode: 0644]
poqm/csb/kconfig6_qt.po [new file with mode: 0644]
poqm/cy/kconfig6_qt.po [new file with mode: 0644]
poqm/da/kconfig6_qt.po [new file with mode: 0644]
poqm/de/kconfig6_qt.po [new file with mode: 0644]
poqm/el/kconfig6_qt.po [new file with mode: 0644]
poqm/en_GB/kconfig6_qt.po [new file with mode: 0644]
poqm/eo/kconfig6_qt.po [new file with mode: 0644]
poqm/es/kconfig6_qt.po [new file with mode: 0644]
poqm/et/kconfig6_qt.po [new file with mode: 0644]
poqm/eu/kconfig6_qt.po [new file with mode: 0644]
poqm/fa/kconfig6_qt.po [new file with mode: 0644]
poqm/fi/kconfig6_qt.po [new file with mode: 0644]
poqm/fr/kconfig6_qt.po [new file with mode: 0644]
poqm/fy/kconfig6_qt.po [new file with mode: 0644]
poqm/ga/kconfig6_qt.po [new file with mode: 0644]
poqm/gd/kconfig6_qt.po [new file with mode: 0644]
poqm/gl/kconfig6_qt.po [new file with mode: 0644]
poqm/gu/kconfig6_qt.po [new file with mode: 0644]
poqm/he/kconfig6_qt.po [new file with mode: 0644]
poqm/hi/kconfig6_qt.po [new file with mode: 0644]
poqm/hne/kconfig6_qt.po [new file with mode: 0644]
poqm/hr/kconfig6_qt.po [new file with mode: 0644]
poqm/hsb/kconfig6_qt.po [new file with mode: 0644]
poqm/hu/kconfig6_qt.po [new file with mode: 0644]
poqm/ia/kconfig6_qt.po [new file with mode: 0644]
poqm/id/kconfig6_qt.po [new file with mode: 0644]
poqm/is/kconfig6_qt.po [new file with mode: 0644]
poqm/it/kconfig6_qt.po [new file with mode: 0644]
poqm/ja/kconfig6_qt.po [new file with mode: 0644]
poqm/ka/kconfig6_qt.po [new file with mode: 0644]
poqm/kab/kconfig6_qt.po [new file with mode: 0644]
poqm/kk/kconfig6_qt.po [new file with mode: 0644]
poqm/km/kconfig6_qt.po [new file with mode: 0644]
poqm/kn/kconfig6_qt.po [new file with mode: 0644]
poqm/ko/kconfig6_qt.po [new file with mode: 0644]
poqm/ku/kconfig6_qt.po [new file with mode: 0644]
poqm/lb/kconfig6_qt.po [new file with mode: 0644]
poqm/lt/kconfig6_qt.po [new file with mode: 0644]
poqm/lv/kconfig6_qt.po [new file with mode: 0644]
poqm/mai/kconfig6_qt.po [new file with mode: 0644]
poqm/mk/kconfig6_qt.po [new file with mode: 0644]
poqm/ml/kconfig6_qt.po [new file with mode: 0644]
poqm/mr/kconfig6_qt.po [new file with mode: 0644]
poqm/ms/kconfig6_qt.po [new file with mode: 0644]
poqm/nb/kconfig6_qt.po [new file with mode: 0644]
poqm/nds/kconfig6_qt.po [new file with mode: 0644]
poqm/ne/kconfig6_qt.po [new file with mode: 0644]
poqm/nl/kconfig6_qt.po [new file with mode: 0644]
poqm/nn/kconfig6_qt.po [new file with mode: 0644]
poqm/or/kconfig6_qt.po [new file with mode: 0644]
poqm/pa/kconfig6_qt.po [new file with mode: 0644]
poqm/pl/kconfig6_qt.po [new file with mode: 0644]
poqm/pt/kconfig6_qt.po [new file with mode: 0644]
poqm/pt_BR/kconfig6_qt.po [new file with mode: 0644]
poqm/ro/kconfig6_qt.po [new file with mode: 0644]
poqm/ru/kconfig6_qt.po [new file with mode: 0644]
poqm/sa/kconfig6_qt.po [new file with mode: 0644]
poqm/se/kconfig6_qt.po [new file with mode: 0644]
poqm/si/kconfig6_qt.po [new file with mode: 0644]
poqm/sk/kconfig6_qt.po [new file with mode: 0644]
poqm/sl/kconfig6_qt.po [new file with mode: 0644]
poqm/sq/kconfig6_qt.po [new file with mode: 0644]
poqm/sr/kconfig6_qt.po [new file with mode: 0644]
poqm/sr@ijekavian/kconfig6_qt.po [new file with mode: 0644]
poqm/sr@ijekavianlatin/kconfig6_qt.po [new file with mode: 0644]
poqm/sr@latin/kconfig6_qt.po [new file with mode: 0644]
poqm/sv/kconfig6_qt.po [new file with mode: 0644]
poqm/ta/kconfig6_qt.po [new file with mode: 0644]
poqm/te/kconfig6_qt.po [new file with mode: 0644]
poqm/tg/kconfig6_qt.po [new file with mode: 0644]
poqm/th/kconfig6_qt.po [new file with mode: 0644]
poqm/tr/kconfig6_qt.po [new file with mode: 0644]
poqm/ug/kconfig6_qt.po [new file with mode: 0644]
poqm/uk/kconfig6_qt.po [new file with mode: 0644]
poqm/uz/kconfig6_qt.po [new file with mode: 0644]
poqm/uz@cyrillic/kconfig6_qt.po [new file with mode: 0644]
poqm/vi/kconfig6_qt.po [new file with mode: 0644]
poqm/wa/kconfig6_qt.po [new file with mode: 0644]
poqm/xh/kconfig6_qt.po [new file with mode: 0644]
poqm/zh_CN/kconfig6_qt.po [new file with mode: 0644]
poqm/zh_TW/kconfig6_qt.po [new file with mode: 0644]
src/CMakeLists.txt [new file with mode: 0644]
src/Messages.sh [new file with mode: 0755]
src/core/CMakeLists.txt [new file with mode: 0644]
src/core/config-kconfig.h.cmake [new file with mode: 0644]
src/core/dbussanitizer_p.h [new file with mode: 0644]
src/core/kauthorized.cpp [new file with mode: 0644]
src/core/kauthorized.h [new file with mode: 0644]
src/core/kconfig.cpp [new file with mode: 0644]
src/core/kconfig.h [new file with mode: 0644]
src/core/kconfig_p.h [new file with mode: 0644]
src/core/kconfigbase.cpp [new file with mode: 0644]
src/core/kconfigbase.h [new file with mode: 0644]
src/core/kconfigbase_p.h [new file with mode: 0644]
src/core/kconfigconversioncheck_p.h [new file with mode: 0644]
src/core/kconfigdata.cpp [new file with mode: 0644]
src/core/kconfigdata_p.h [new file with mode: 0644]
src/core/kconfiggroup.cpp [new file with mode: 0644]
src/core/kconfiggroup.h [new file with mode: 0644]
src/core/kconfiggroup_p.h [new file with mode: 0644]
src/core/kconfigini.cpp [new file with mode: 0644]
src/core/kconfigini_p.h [new file with mode: 0644]
src/core/kconfigwatcher.cpp [new file with mode: 0644]
src/core/kconfigwatcher.h [new file with mode: 0644]
src/core/kcoreconfigskeleton.cpp [new file with mode: 0644]
src/core/kcoreconfigskeleton.h [new file with mode: 0644]
src/core/kcoreconfigskeleton_p.h [new file with mode: 0644]
src/core/kdesktopfile.cpp [new file with mode: 0644]
src/core/kdesktopfile.h [new file with mode: 0644]
src/core/kdesktopfileaction.cpp [new file with mode: 0644]
src/core/kdesktopfileaction.h [new file with mode: 0644]
src/core/kemailsettings.cpp [new file with mode: 0644]
src/core/kemailsettings.h [new file with mode: 0644]
src/core/ksharedconfig.cpp [new file with mode: 0644]
src/core/ksharedconfig.h [new file with mode: 0644]
src/gui/CMakeLists.txt [new file with mode: 0644]
src/gui/kconfiggroupgui.cpp [new file with mode: 0644]
src/gui/kconfiggui.cpp [new file with mode: 0644]
src/gui/kconfiggui.h [new file with mode: 0644]
src/gui/kconfigguistaticinitializer.cpp [new file with mode: 0644]
src/gui/kconfigloader.cpp [new file with mode: 0644]
src/gui/kconfigloader.h [new file with mode: 0644]
src/gui/kconfigloader_p.h [new file with mode: 0644]
src/gui/kconfigloaderhandler_p.h [new file with mode: 0644]
src/gui/kconfigskeleton.cpp [new file with mode: 0644]
src/gui/kconfigskeleton.h [new file with mode: 0644]
src/gui/kstandardactions.cpp [new file with mode: 0644]
src/gui/kstandardactions.h [new file with mode: 0644]
src/gui/kstandardactions_p.h [new file with mode: 0644]
src/gui/kstandardshortcut.cpp [new file with mode: 0644]
src/gui/kstandardshortcut.h [new file with mode: 0644]
src/gui/kstandardshortcut_p.h [new file with mode: 0644]
src/gui/kstandardshortcutwatcher.cpp [new file with mode: 0644]
src/gui/kstandardshortcutwatcher.h [new file with mode: 0644]
src/gui/kwindowconfig.cpp [new file with mode: 0644]
src/gui/kwindowconfig.h [new file with mode: 0644]
src/gui/kwindowstatesaver.cpp [new file with mode: 0644]
src/gui/kwindowstatesaver.h [new file with mode: 0644]
src/kconf_update/CMakeLists.txt [new file with mode: 0644]
src/kconf_update/Mainpage.dox [new file with mode: 0644]
src/kconf_update/README.kconf_update [new file with mode: 0644]
src/kconf_update/kconf_update.cpp [new file with mode: 0644]
src/kconfig_compiler/CMakeLists.txt [new file with mode: 0644]
src/kconfig_compiler/KConfigCodeGeneratorBase.cpp [new file with mode: 0644]
src/kconfig_compiler/KConfigCodeGeneratorBase.h [new file with mode: 0644]
src/kconfig_compiler/KConfigCommonStructs.h [new file with mode: 0644]
src/kconfig_compiler/KConfigHeaderGenerator.cpp [new file with mode: 0644]
src/kconfig_compiler/KConfigHeaderGenerator.h [new file with mode: 0644]
src/kconfig_compiler/KConfigParameters.cpp [new file with mode: 0644]
src/kconfig_compiler/KConfigParameters.h [new file with mode: 0644]
src/kconfig_compiler/KConfigSourceGenerator.cpp [new file with mode: 0644]
src/kconfig_compiler/KConfigSourceGenerator.h [new file with mode: 0644]
src/kconfig_compiler/KConfigXmlParser.cpp [new file with mode: 0644]
src/kconfig_compiler/KConfigXmlParser.h [new file with mode: 0644]
src/kconfig_compiler/README.dox [new file with mode: 0644]
src/kconfig_compiler/TODO [new file with mode: 0644]
src/kconfig_compiler/checkkcfg.pl [new file with mode: 0755]
src/kconfig_compiler/kcfg.xsd [new file with mode: 0644]
src/kconfig_compiler/kconfig_compiler.cpp [new file with mode: 0644]
src/kreadconfig/CMakeLists.txt [new file with mode: 0644]
src/kreadconfig/kreadconfig.cpp [new file with mode: 0644]
src/kreadconfig/kwriteconfig.cpp [new file with mode: 0644]
src/qml/CMakeLists.txt [new file with mode: 0644]
src/qml/kconfigpropertymap.cpp [new file with mode: 0644]
src/qml/kconfigpropertymap.h [new file with mode: 0644]
src/qml/kwindowstatesaverquick.cpp [new file with mode: 0644]
src/qml/kwindowstatesaverquick.h [new file with mode: 0644]
src/qml/types.cpp [new file with mode: 0644]
src/qml/types.h [new file with mode: 0644]

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644 (file)
index 0000000..d7c1427
--- /dev/null
@@ -0,0 +1,4 @@
+#clang-format/tidy
+8bed00ab34e31f2b9c70026d418d923913325798
+48c132be8aa983165126b0641a083848dd5c6620
+06ca3b8c62989f59ca348606dfd4eda9e3ee3ec0
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..f9dc289
--- /dev/null
@@ -0,0 +1,29 @@
+# Ignore the following files
+*~
+*.[oa]
+*.diff
+*.kate-swp
+*.kdev4
+.kdev_include_paths
+*.kdevelop.pcs
+*.moc
+*.moc.cpp
+*.orig
+*.user
+.*.swp
+.swp.*
+Doxyfile
+Makefile
+avail
+random_seed
+/build*/
+/.vscode/
+CMakeLists.txt.user*
+*.unc-backup*
+.cmake/
+/.clang-format
+/compile_commands.json
+.clangd
+.idea
+/cmake-build*
+.cache
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..ae0db78
--- /dev/null
@@ -0,0 +1,12 @@
+# SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
+# SPDX-License-Identifier: CC0-1.0
+
+include:
+  - project: sysadmin/ci-utilities
+    file:
+      - /gitlab-templates/linux-qt6.yml
+      - /gitlab-templates/linux-qt6-static.yml
+      - /gitlab-templates/android-qt6.yml
+      - /gitlab-templates/freebsd-qt6.yml
+      - /gitlab-templates/windows-qt6.yml
+      - /gitlab-templates/alpine-qt6.yml
diff --git a/.kde-ci.yml b/.kde-ci.yml
new file mode 100644 (file)
index 0000000..e52bc32
--- /dev/null
@@ -0,0 +1,8 @@
+Dependencies:
+- 'on': ['@all']
+  'require':
+    'frameworks/extra-cmake-modules': '@same'
+
+Options:
+  test-before-installing: True
+  require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3f3f8cf
--- /dev/null
@@ -0,0 +1,119 @@
+cmake_minimum_required(VERSION 3.16)
+
+set(KF_VERSION "6.10.0") # handled by release scripts
+project(KConfig VERSION ${KF_VERSION})
+
+include(FeatureSummary)
+find_package(ECM 6.10.0  NO_MODULE)
+set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
+feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
+include(KDECMakeSettings)
+include(KDEGitCommitHooks)
+
+include(ECMGenerateExportHeader)
+include(ECMSetupVersion)
+include(ECMGenerateHeaders)
+include(ECMMarkNonGuiExecutable)
+include(ECMPoQmTools)
+include(ECMAddQch)
+include(ECMQtDeclareLoggingCategory)
+include(ECMDeprecationSettings)
+
+set(REQUIRED_QT_VERSION 6.6.0)
+
+find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Xml)
+option(KCONFIG_USE_GUI "Build components using Qt6Gui" ON)
+if(KCONFIG_USE_GUI)
+    find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui)
+endif()
+
+option(KCONFIG_USE_QML "Build components using Qt6Qml" ON)
+
+if(KCONFIG_USE_QML)
+    include(ECMQmlModule)
+    find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Qml Quick)
+endif()
+
+# shall we use DBus?
+# enabled per default on Linux & BSD systems
+set(USE_DBUS_DEFAULT OFF)
+if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAIKU)
+    set(USE_DBUS_DEFAULT ON)
+endif()
+option(USE_DBUS "Build components using DBus" ${USE_DBUS_DEFAULT})
+if(USE_DBUS)
+    find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus)
+    set(KCONFIG_USE_DBUS ON)
+endif()
+
+set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
+
+option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
+add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
+
+set(kconfig_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/core/kconfig_version.h")
+ecm_setup_version(PROJECT VARIABLE_PREFIX KCONFIG
+                        VERSION_HEADER "${kconfig_version_header}"
+                        PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfigVersion.cmake"
+                        SOVERSION 6)
+
+ecm_set_disabled_deprecation_versions(
+    QT 6.8.0
+)
+
+add_subdirectory(src)
+if(BUILD_TESTING)
+    add_subdirectory(autotests)
+endif()
+
+include (ECMPoQmTools)
+ecm_install_po_files_as_qm(poqm)
+
+
+# create a Config.cmake and a ConfigVersion.cmake file and install them
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Config")
+
+if(BUILD_QCH)
+    ecm_install_qch_export(
+        TARGETS KF6Config_QCH
+        FILE KF6ConfigQchTargets.cmake
+        DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+        COMPONENT Devel
+    )
+    set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6ConfigQchTargets.cmake\")")
+endif()
+
+include(CMakePackageConfigHelpers)
+
+configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF6ConfigConfig.cmake.in"
+                              "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfig.cmake"
+                              INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
+                              )
+
+install(FILES  "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfig.cmake"
+                "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfigVersion.cmake"
+                "${CMAKE_CURRENT_SOURCE_DIR}/KF6ConfigMacros.cmake"
+        DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+        COMPONENT Devel )
+
+
+install(EXPORT KF6ConfigTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+        FILE KF6ConfigTargets.cmake NAMESPACE KF6:: COMPONENT Devel)
+
+
+install(EXPORT KF6ConfigCompilerTargets DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Config"
+        FILE KF6ConfigCompilerTargets.cmake NAMESPACE KF6:: COMPONENT Devel)
+
+install(FILES ${kconfig_version_header}
+        DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfig COMPONENT Devel)
+
+
+include(ECMFeatureSummary)
+ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
diff --git a/DESIGN b/DESIGN
new file mode 100644 (file)
index 0000000..d68b2d3
--- /dev/null
+++ b/DESIGN
@@ -0,0 +1,109 @@
+If you add a major new feature, suggest using it in
+https://develop.kde.org/docs/features/configuration/introduction/
+
+kconfigdata_p.h contains definitions of the data formats used by kconfig.
+
+Configuration entries are stored as "KEntry". They are indexed with "KEntryKey".
+The primary store is a "KEntryMap" which is defined as a std::map from "KEntryKey"
+to "KEntry"
+
+KEntry's are stored in order in the KEntryMap. The most significant sort 
+criteria is mGroup. This means that all entries who belong in the same group,
+are grouped in the std::map as well.
+
+The start of a group is indicated with a KEntryKey with an empty mKey and a 
+dummy KEntry. This allows us to search for the start of the group and then to 
+iterate until we end up in another group. That way we will find all entries
+of a certain group.
+
+Entries that are localised with the _current_ locale are stored with bLocal 
+set to true. Entries that are localised with another locale are either not
+stored at all (default), or with the localization as part of the key and bRaw
+set to true (when reading a file in order to merge it).
+
+Entries that are being read from a location other than the location to
+which is written back are marked as "default" and will be added both as
+normal entry as well as an entry with the key marked as default.
+
+When the configuration is synced to disk, the current on-disk state is re-read
+into a temporary map, updated with dirty (modified) entries from the 
+current config object's entry map and then written back.
+
+
+Note that there is a subtle difference between revertToDefault() and deleteEntry().
+revertToDefault() will change the entry to the default value set by the system 
+administrator (Via e.g. $KDEDIR/share/config) or, if no such default was set,
+non-existent.
+deleteEntry() will make the entry non-existent. If if the system administrator
+has specified a default value, the local entry is marked with [$d].
+
+Entries are marked "immutable" if the key is followed by [$i] (e.g. 'key[$i]=value');
+groups are marked "immutable" if the group is followed by [$i] (.e.g '[GroupName][$i]').
+An "immutable" entry/group cannot be overriden by the user.
+
+For more details see docs/options.md.
+
+
+------------------------------------------------------------------------------
+
+KConfig XT
+==========
+
+My buzzword picker offered KConfig XT ("eXtended Technology") and KConfig NG 
+("Next Generation").  Since the planned changes are meant to be evolutionary 
+rather than revolutionary, KConfig NG was dropped.
+
+Goals
+=====
+
+* Have the default value for config entries defined in 1 place. Currently it is
+not uncommon to have them defined in three places:
+  1) In the application that reads the setting in order to use it
+  2) In the settings dialog when reading the setting
+  3) In the settings dialog when selecting "Use defaults".
+
+* Provide type-information about config entries to facilate "KConfEdit" like 
+tools. Ideally type-information also includes range-information; this is even
+mandatory if enums become an explicit type.
+
+* Facilitate the documentation of config entries.
+
+KCoreConfigSkeleton
+         |
+         v
+  KConfigSkeleton           /--< myapp.kcfg
+         |                 /
+         |*---------------<
+         |kconfig_compiler \
+         |                  \--< myconfig.kcfgc
+         v
+     MyConfig <-----KConfigDialogManager----> MyConfigWidget *---< myconfigwidget.ui
+                                                             uic
+
+KCoreConfigSkeleton/ base class for deriving classes that store application
+KConfigSkeleton:     specific options providing type-safety and single-point
+                     defaults.
+
+MyConfig: An application specific class that offers configuration options
+          to the applications via variables or accessor functions and that
+          handles type-safety and defaults. MyConfig is just an example
+          name, the application developer choses the actual name.
+
+myapp.kcfg: File describing the configuration options used by a specific
+            application. myapp.kcfg is just an example name, the application
+            developer choses the actual name.
+
+myconfig.kcfgc: Implementation specific code generation instructions
+                for the MyConfig class. myconfig.kcfgc is
+                just an example name, the application developer
+                choses the actual name.
+
+KConfigDialogManager: Class that links widgets in a dialog up with their
+                      corresponding configuration options in a configuration
+                      object derived from KConfigSkeleton.
+
+MyConfigWidget: Dialog generated from a .ui description file. Widget names
+                in the dialog that start with "kcfg_" refer to configuration
+                options.
+
+See http://techbase.kde.org/Development/Tutorials/Using_KConfig_XT
diff --git a/KF6ConfigConfig.cmake.in b/KF6ConfigConfig.cmake.in
new file mode 100644 (file)
index 0000000..9dcae19
--- /dev/null
@@ -0,0 +1,31 @@
+@PACKAGE_INIT@
+
+# Any changes in this ".cmake" file will be overwritten by CMake, the source is the ".cmake.in" file.
+
+include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigTargets.cmake")
+@PACKAGE_INCLUDE_QCHTARGETS@
+
+include(CMakeFindDependencyMacro)
+
+if(NOT @BUILD_SHARED_LIBS@)
+    find_dependency(Qt6Xml @REQUIRED_QT_VERSION@)
+endif()
+
+if(@KCONFIG_USE_DBUS@)
+    find_dependency(Qt6DBus "@REQUIRED_QT_VERSION@")
+endif()
+
+if(@KCONFIG_USE_QML@)
+    find_dependency(Qt6Qml "@REQUIRED_QT_VERSION@")
+endif()
+
+if(CMAKE_CROSSCOMPILING AND KF6_HOST_TOOLING)
+    find_file(KCONFIGCOMPILER_PATH KF6Config/KF6ConfigCompilerTargets.cmake
+        PATHS ${KF6_HOST_TOOLING} ${CMAKE_CURRENT_LIST_DIR}
+        NO_DEFAULT_PATH
+        NO_CMAKE_FIND_ROOT_PATH)
+    include("${KCONFIGCOMPILER_PATH}")
+else()
+    include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigCompilerTargets.cmake")
+endif()
+include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigMacros.cmake")
diff --git a/KF6ConfigMacros.cmake b/KF6ConfigMacros.cmake
new file mode 100644 (file)
index 0000000..c66a1bb
--- /dev/null
@@ -0,0 +1,266 @@
+#  KCONFIG_ADD_KCFG_FILES (SRCS_VAR [GENERATE_MOC] [USE_RELATIVE_PATH] file1.kcfgc ... fileN.kcfgc)
+#  KCONFIG_ADD_KCFG_FILES (<target> [GENERATE_MOC] [USE_RELATIVE_PATH] file1.kcfgc ... fileN.kcfgc) (since 5.67)
+#    Use this to add KDE config compiler files to your application/library.
+#    Use optional GENERATE_MOC to generate moc if you use signals in your kcfg files.
+#    Use optional USE_RELATIVE_PATH to generate the classes in the build following the given
+#    relative path to the file.
+#    <target> must not be an alias.
+#
+#  kconfig_target_kcfg_file(<target> FILE <kcfg file> CLASS_NAME <classname> ...)
+#    Add a kcfg file to a target without having a kcfgc file. The kcfgc file will
+#    be generated from the function arguments. Arguments correspond to the
+#    similarly names fields from the kcfgc file.
+#
+#    TARGET should be a valid target. FILE is required and should be the name of
+#    a kcfg file. CLASS_NAME is required and should be the name of the C++ class
+#    that is generated. All the other arguments are optional.
+#
+#    Option arguments are:
+#        MUTATORS
+#        SINGLETON
+#        CUSTOM_ADDITIONS
+#        NOTIFIERS
+#        DEFAULT_VALUE_GETTERS
+#        ITEM_ACCESSORS
+#        SET_USER_TEXTS
+#        GLOBAL_ENUMS
+#        USE_ENUM_TYPES
+#        FORCE_STRING_FILENAME
+#        GENERATE_PROPERTIES
+#        PARENT_IN_CONSTRUCTOR
+#        GENERATE_MOC
+#        QML_REGISTRATION
+#    Single value arguments are:
+#        FILE
+#        CLASS_NAME
+#        VISIBILITY
+#        HEADER_EXTENSION
+#        SOURCE_EXTENSION
+#        NAME_SPACE
+#        INHERITS
+#        MEMBER_VARIABLES
+#        TRANSLATION_SYSTEM
+#        TRANSLATION_DOMAIN
+#    Multi value arguments are:
+#        INCLUDE_FILES
+#        SOURCE_INCLUDE_FILES
+#
+# SPDX-FileCopyrightText: 2006-2009 Alexander Neundorf <neundorf@kde.org>
+# SPDX-FileCopyrightText: 2006, 2007, Laurent Montel <montel@kde.org>
+# SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+include(CMakeParseArguments)
+
+function(KCONFIG_ADD_KCFG_FILES _target_or_source_var)
+    set(options GENERATE_MOC USE_RELATIVE_PATH)
+    cmake_parse_arguments(ARG "${options}" "" "" ${ARGN})
+
+    if(TARGET ${_target_or_source_var})
+        get_target_property(aliased_target ${_target_or_source_var} ALIASED_TARGET)
+        if(aliased_target)
+            message(FATAL_ERROR "Target argument passed to kconfig_add_kcfg_files must not be an alias: ${_target_or_source_var}")
+        endif()
+    endif()
+
+    set(sources)
+    foreach(_current_FILE ${ARG_UNPARSED_ARGUMENTS})
+        get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+        get_filename_component(_abs_PATH ${_tmp_FILE} PATH)
+
+        if(ARG_USE_RELATIVE_PATH) # Process relative path only if the option was set
+            # Get relative path
+            get_filename_component(_rel_PATH ${_current_FILE} PATH)
+
+            if(IS_ABSOLUTE ${_rel_PATH})
+                # We got an absolute path
+                set(_rel_PATH "")
+            endif()
+        endif()
+
+        get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+        # If we had a relative path and we're asked to use it, then change the basename accordingly
+        if(_rel_PATH)
+            set(_basename ${_rel_PATH}/${_basename})
+        endif()
+
+        # if the file name in the kcfgc is changed, we need to rerun cmake
+        set_property(DIRECTORY APPEND
+            PROPERTY CMAKE_CONFIGURE_DEPENDS ${_tmp_FILE}
+        )
+
+        file(READ ${_tmp_FILE} _contents)
+        string(REGEX MATCH "File=([^\n]+\\.kcfg)\n" "" "${_contents}")
+        set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
+        if(NOT _kcfg_FILENAME)
+            string(REGEX MATCH "File=([^\n]+\\.kcfg).*\n" "" "${_contents}")
+            if(CMAKE_MATCH_1)
+                message(WARNING "${_tmp_FILE}: Broken \"File\" field, make sure it's pointing at the right file")
+                set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
+            else()
+                message(WARNING "Couldn't read the \"File\" field in ${_tmp_FILE}")
+                set(_kcfg_FILENAME "${_basename}.kcfg")
+            endif()
+        endif()
+
+        string(REGEX MATCH "HeaderExtension=([^\n]+)\n" "" "${_contents}")
+        if(CMAKE_MATCH_1)
+            set(_kcfg_header_EXT "${CMAKE_MATCH_1}")
+        else()
+            set(_kcfg_header_EXT "h")
+        endif()
+
+        set(_src_FILE    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+        set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.${_kcfg_header_EXT})
+        set(_moc_FILE    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
+        set(_kcfg_FILE   ${_abs_PATH}/${_kcfg_FILENAME})
+        # Maybe the .kcfg is a generated file?
+        if(NOT EXISTS "${_kcfg_FILE}")
+            set(_kcfg_FILE   ${CMAKE_CURRENT_BINARY_DIR}/${_kcfg_FILENAME})
+        endif()
+
+        if(NOT EXISTS "${_kcfg_FILE}")
+            message(FATAL_ERROR "${_kcfg_FILENAME} not found; tried in ${_abs_PATH} and ${CMAKE_CURRENT_BINARY_DIR}")
+        endif()
+
+        # make sure the directory exist in the build directory
+        if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}")
+            file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH})
+        endif()
+
+        # the command for creating the source file from the kcfg file
+        add_custom_command(OUTPUT ${_header_FILE} ${_src_FILE}
+                          COMMAND KF6::kconfig_compiler
+                          ARGS ${_kcfg_FILE} ${_tmp_FILE} -d ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}
+                          MAIN_DEPENDENCY ${_tmp_FILE}
+                          DEPENDS ${_kcfg_FILE} KF6::kconfig_compiler)
+
+        set_source_files_properties(${_header_FILE} ${_src_FILE} PROPERTIES
+            SKIP_AUTOUIC ON
+        )
+
+        if(NOT ARG_GENERATE_MOC)
+            set_source_files_properties(${_header_FILE} ${_src_FILE} PROPERTIES
+                SKIP_AUTOMOC ON
+            )
+        endif()
+
+        list(APPEND sources ${_src_FILE} ${_header_FILE})
+    endforeach(_current_FILE)
+
+    if(TARGET ${_target_or_source_var})
+        target_sources(${_target_or_source_var} PRIVATE ${sources})
+    else()
+        set(${_target_or_source_var} ${${_target_or_source_var}} ${sources} PARENT_SCOPE)
+    endif()
+
+endfunction(KCONFIG_ADD_KCFG_FILES)
+
+function(_convert_to_camelcase ARG_INPUT ARG_OUTPUT)
+    string(TOLOWER "${ARG_INPUT}" _input_lc)
+    string(REPLACE "_" ";" _input_parts "${_input_lc}")
+    set(_result "")
+    foreach(_part ${_input_parts})
+        string(SUBSTRING "${_part}" 0 1 _first)
+        string(TOUPPER "${_first}" _first_uc)
+        string(APPEND _result "${_first_uc}")
+        string(SUBSTRING "${_part}" 1 -1 _rest)
+        string(APPEND _result "${_rest}")
+    endforeach()
+    set(${ARG_OUTPUT} "${_result}" PARENT_SCOPE)
+endfunction()
+
+function(kconfig_target_kcfg_file ARG_TARGET)
+    set(_options
+        MUTATORS
+        SINGLETON
+        CUSTOM_ADDITIONS
+        NOTIFIERS
+        DEFAULT_VALUE_GETTERS
+        ITEM_ACCESSORS
+        SET_USER_TEXTS
+        GLOBAL_ENUMS
+        USE_ENUM_TYPES
+        FORCE_STRING_FILENAME
+        GENERATE_PROPERTIES
+        PARENT_IN_CONSTRUCTOR
+        GENERATE_MOC
+        QML_REGISTRATION
+    )
+    set(_single_arguments
+        FILE
+        CLASS_NAME
+        VISIBILITY
+        HEADER_EXTENSION
+        SOURCE_EXTENSION
+        NAME_SPACE
+        INHERITS
+        MEMBER_VARIABLES
+        TRANSLATION_SYSTEM
+        TRANSLATION_DOMAIN
+    )
+    set(_multi_arguments
+        INCLUDE_FILES
+        SOURCE_INCLUDE_FILES
+    )
+    cmake_parse_arguments(PARSE_ARGV 1 ARG "${_options}" "${_single_arguments}" "${_multi_arguments}")
+
+    if(NOT TARGET ${ARG_TARGET})
+        message(FATAL_ERROR "${ARG_TARGET} not found")
+    endif()
+
+    if(NOT EXISTS "${ARG_FILE}" AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${ARG_FILE}")
+        message(FATAL_ERROR "${ARG_FILE} not found")
+    endif()
+
+    if("${ARG_CLASS_NAME}" STREQUAL "")
+        message(FATAL_ERROR "CLASS_NAME is a required argument")
+    endif()
+
+    set(_filepath "${ARG_FILE}")
+    get_filename_component(_filename ${ARG_FILE} NAME)
+    if(IS_ABSOLUTE ${ARG_FILE})
+        set(ARG_FILE ${_filename})
+    endif()
+
+    set(_content "")
+
+    foreach(_option ${_options})
+        if("${_option}" STREQUAL "GENERATE_MOC")
+            continue()
+        endif()
+
+        _convert_to_camelcase("${_option}" _entry)
+        if(ARG_${_option})
+            string(APPEND _content "${_entry}=true\n")
+        endif()
+    endforeach()
+
+    foreach(_argument ${_single_arguments})
+        _convert_to_camelcase("${_argument}" _entry)
+        if(ARG_${_argument})
+            string(APPEND _content "${_entry}=${ARG_${_argument}}\n")
+        endif()
+    endforeach()
+
+    foreach(_argument ${_multi_arguments})
+        _convert_to_camelcase("${_argument}" _entry)
+        if(ARG_${_argument})
+            list(JOIN ARG_${_argument} ", " _joined)
+            string(APPEND _content "${_entry}=${_joined}\n")
+        endif()
+    endforeach()
+
+    get_filename_component(_basename ${_filepath} NAME_WE)
+    set(_output "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kcfgc")
+    file(WRITE ${_output} "${_content}")
+
+    configure_file(${_filepath} "${CMAKE_CURRENT_BINARY_DIR}/${_filename}" COPYONLY)
+
+    if(${ARG_GENERATE_MOC})
+        KCONFIG_ADD_KCFG_FILES(${ARG_TARGET} ${_output} GENERATE_MOC)
+    else()
+        KCONFIG_ADD_KCFG_FILES(${ARG_TARGET} ${_output})
+    endif()
+endfunction()
diff --git a/LICENSES/BSD-2-Clause.txt b/LICENSES/BSD-2-Clause.txt
new file mode 100644 (file)
index 0000000..2d2bab1
--- /dev/null
@@ -0,0 +1,22 @@
+Copyright (c) <year> <owner>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt
new file mode 100644 (file)
index 0000000..0741db7
--- /dev/null
@@ -0,0 +1,26 @@
+Copyright (c) <year> <owner>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+may be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt
new file mode 100644 (file)
index 0000000..0e259d4
--- /dev/null
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.
diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt
new file mode 100644 (file)
index 0000000..1d80ac3
--- /dev/null
@@ -0,0 +1,319 @@
+GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 
+
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public License is intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users. This General Public License applies to
+most of the Free Software Foundation's software and to any other program whose
+authors commit to using it. (Some other Free Software Foundation software
+is covered by the GNU Lesser General Public License instead.) You can apply
+it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must give the recipients all the rights that you have. You
+must make sure that they, too, receive or can get the source code. And you
+must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If
+the software is modified by someone else and passed on, we want its recipients
+to know that what they have is not the original, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will individually
+obtain patent licenses, in effect making the program proprietary. To prevent
+this, we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms
+of this General Public License. The "Program", below, refers to any such program
+or work, and a "work based on the Program" means either the Program or any
+derivative work under copyright law: that is to say, a work containing the
+Program or a portion of it, either verbatim or with modifications and/or translated
+into another language. (Hereinafter, translation is included without limitation
+in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running the Program
+is not restricted, and the output from the Program is covered only if its
+contents constitute a work based on the Program (independent of having been
+made by running the Program). Whether that is true depends on what the Program
+does.
+
+1. You may copy and distribute verbatim copies of the Program's source code
+as you receive it, in any medium, provided that you conspicuously and appropriately
+publish on each copy an appropriate copyright notice and disclaimer of warranty;
+keep intact all the notices that refer to this License and to the absence
+of any warranty; and give any other recipients of the Program a copy of this
+License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it,
+thus forming a work based on the Program, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or
+in part contains or is derived from the Program or any part thereof, to be
+licensed as a whole at no charge to all third parties under the terms of this
+License.
+
+c) If the modified program normally reads commands interactively when run,
+you must cause it, when started running for such interactive use in the most
+ordinary way, to print or display an announcement including an appropriate
+copyright notice and a notice that there is no warranty (or else, saying that
+you provide a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this License.
+(Exception: if the Program itself is interactive but does not normally print
+such an announcement, your work based on the Program is not required to print
+an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Program, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Program.
+
+In addition, mere aggregation of another work not based on the Program with
+the Program (or with a work based on the Program) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section
+2) in object code or executable form under the terms of Sections 1 and 2 above
+provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code,
+which must be distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give
+any third party, for a charge no more than your cost of physically performing
+source distribution, a complete machine-readable copy of the corresponding
+source code, to be distributed under the terms of Sections 1 and 2 above on
+a medium customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer to distribute
+corresponding source code. (This alternative is allowed only for noncommercial
+distribution and only if you received the program in object code or executable
+form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all
+the source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable. However, as a special exception, the source code distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
+
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy the
+source code from the same place counts as distribution of the source code,
+even though third parties are not compelled to copy the source along with
+the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except
+as expressly provided under this License. Any attempt otherwise to copy, modify,
+sublicense or distribute the Program is void, and will automatically terminate
+your rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses terminated
+so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Program or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Program
+(or any work based on the Program), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program),
+the recipient automatically receives a license from the original licensor
+to copy, distribute or modify the Program subject to these terms and conditions.
+You may not impose any further restrictions on the recipients' exercise of
+the rights granted herein. You are not responsible for enforcing compliance
+by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Program at all. For example, if a
+patent license would not permit royalty-free redistribution of the Program
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system, which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Program under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of
+the General Public License from time to time. Such new versions will be similar
+in spirit to the present version, but may differ in detail to address new
+problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Program does not specify a version number of this License, you may choose
+any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software Foundation,
+write to the Free Software Foundation; we sometimes make exceptions for this.
+Our decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing and reuse
+of software generally.
+
+   NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible
+use to the public, the best way to achieve this is to make it free software
+which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach
+them to the start of each source file to most effectively convey the exclusion
+of warranty; and each file should have at least the "copyright" line and a
+pointer to where the full notice is found.
+
+<one line to give the program's name and an idea of what it does.>
+
+Copyright (C) <yyyy> <name of author>
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
+Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when
+it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
+with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
+and you are welcome to redistribute it under certain conditions; type `show
+c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may be
+called something other than `show w' and `show c'; they could even be mouse-clicks
+or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the program, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
+(which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General
+Public License does not permit incorporating your program into proprietary
+programs. If your program is a subroutine library, you may consider it more
+useful to permit linking proprietary applications with the library. If this
+is what you want to do, use the GNU Lesser General Public License instead
+of this License.
diff --git a/LICENSES/LGPL-2.0-only.txt b/LICENSES/LGPL-2.0-only.txt
new file mode 100644 (file)
index 0000000..5c96471
--- /dev/null
@@ -0,0 +1,446 @@
+GNU LIBRARY GENERAL PUBLIC LICENSE
+
+Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc.
+
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is numbered 2 because
+it goes with version 2 of the ordinary GPL.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Library General Public License, applies to some specially
+designated Free Software Foundation software, and to any other libraries whose
+authors decide to use it. You can use it for your libraries, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library, or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+a program with the library, you must provide complete object files to the
+recipients so that they can relink them with the library, after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+Our method of protecting your rights has two steps: (1) copyright the library,
+and (2) offer you this license which gives you legal permission to copy, distribute
+and/or modify the library.
+
+Also, for each distributor's protection, we want to make certain that everyone
+understands that there is no warranty for this free library. If the library
+is modified by someone else and passed on, we want its recipients to know
+that what they have is not the original version, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that companies distributing free software will individually
+obtain patent licenses, thus in effect transforming the program into proprietary
+software. To prevent this, we have made it clear that any patent must be licensed
+for everyone's free use or not licensed at all.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License, which was designed for utility programs. This license,
+the GNU Library General Public License, applies to certain designated libraries.
+This license is quite different from the ordinary one; be sure to read it
+in full, and don't assume that anything in it is the same as in the ordinary
+license.
+
+The reason we have a separate public license for some libraries is that they
+blur the distinction we usually make between modifying or adding to a program
+and simply using it. Linking a program with a library, without changing the
+library, is in some sense simply using the library, and is analogous to running
+a utility program or application program. However, in a textual and legal
+sense, the linked executable is a combined work, a derivative of the original
+library, and the ordinary General Public License treats it as such.
+
+Because of this blurred distinction, using the ordinary General Public License
+for libraries did not effectively promote software sharing, because most developers
+did not use the libraries. We concluded that weaker conditions might promote
+sharing better.
+
+However, unrestricted linking of non-free programs would deprive the users
+of those programs of all benefit from the free status of the libraries themselves.
+This Library General Public License is intended to permit developers of non-free
+programs to use free libraries, while preserving your freedom as a user of
+such programs to change the free libraries that are incorporated in them.
+(We have not seen how to achieve this as regards changes in header files,
+but we have achieved it as regards changes in the actual functions of the
+Library.) The hope is that this will lead to faster development of free libraries.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, while the latter only works together with the library.
+
+Note that it is possible for a library to be covered by the ordinary General
+Public License rather than by this special one.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library which contains a
+notice placed by the copyright holder or other authorized party saying it
+may be distributed under the terms of this Library General Public License
+(also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+      a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also compile or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+c) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+d) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the source code distributed need
+not include anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the operating
+system on which the executable runs, unless that component itself accompanies
+the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties to this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Library General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+   NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Library General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+details.
+
+You should have received a copy of the GNU Library General Public License
+along with this library; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/LICENSES/LGPL-2.0-or-later.txt b/LICENSES/LGPL-2.0-or-later.txt
new file mode 100644 (file)
index 0000000..5c96471
--- /dev/null
@@ -0,0 +1,446 @@
+GNU LIBRARY GENERAL PUBLIC LICENSE
+
+Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc.
+
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is numbered 2 because
+it goes with version 2 of the ordinary GPL.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Library General Public License, applies to some specially
+designated Free Software Foundation software, and to any other libraries whose
+authors decide to use it. You can use it for your libraries, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library, or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+a program with the library, you must provide complete object files to the
+recipients so that they can relink them with the library, after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+Our method of protecting your rights has two steps: (1) copyright the library,
+and (2) offer you this license which gives you legal permission to copy, distribute
+and/or modify the library.
+
+Also, for each distributor's protection, we want to make certain that everyone
+understands that there is no warranty for this free library. If the library
+is modified by someone else and passed on, we want its recipients to know
+that what they have is not the original version, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that companies distributing free software will individually
+obtain patent licenses, thus in effect transforming the program into proprietary
+software. To prevent this, we have made it clear that any patent must be licensed
+for everyone's free use or not licensed at all.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License, which was designed for utility programs. This license,
+the GNU Library General Public License, applies to certain designated libraries.
+This license is quite different from the ordinary one; be sure to read it
+in full, and don't assume that anything in it is the same as in the ordinary
+license.
+
+The reason we have a separate public license for some libraries is that they
+blur the distinction we usually make between modifying or adding to a program
+and simply using it. Linking a program with a library, without changing the
+library, is in some sense simply using the library, and is analogous to running
+a utility program or application program. However, in a textual and legal
+sense, the linked executable is a combined work, a derivative of the original
+library, and the ordinary General Public License treats it as such.
+
+Because of this blurred distinction, using the ordinary General Public License
+for libraries did not effectively promote software sharing, because most developers
+did not use the libraries. We concluded that weaker conditions might promote
+sharing better.
+
+However, unrestricted linking of non-free programs would deprive the users
+of those programs of all benefit from the free status of the libraries themselves.
+This Library General Public License is intended to permit developers of non-free
+programs to use free libraries, while preserving your freedom as a user of
+such programs to change the free libraries that are incorporated in them.
+(We have not seen how to achieve this as regards changes in header files,
+but we have achieved it as regards changes in the actual functions of the
+Library.) The hope is that this will lead to faster development of free libraries.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, while the latter only works together with the library.
+
+Note that it is possible for a library to be covered by the ordinary General
+Public License rather than by this special one.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library which contains a
+notice placed by the copyright holder or other authorized party saying it
+may be distributed under the terms of this Library General Public License
+(also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+      a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also compile or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+c) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+d) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the source code distributed need
+not include anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the operating
+system on which the executable runs, unless that component itself accompanies
+the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties to this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Library General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+   NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Library General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+details.
+
+You should have received a copy of the GNU Library General Public License
+along with this library; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/LICENSES/LGPL-2.1-only.txt b/LICENSES/LGPL-2.1-only.txt
new file mode 100644 (file)
index 0000000..130dffb
--- /dev/null
@@ -0,0 +1,467 @@
+GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 2.1, February 1999
+
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts as the
+successor of the GNU Library Public License, version 2, hence the version
+number 2.1.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Lesser General Public License, applies to some specially
+designated software packages--typically libraries--of the Free Software Foundation
+and other authors who decide to use it. You can use it too, but we suggest
+you first think carefully about whether this license or the ordinary General
+Public License is the better strategy to use in any particular case, based
+on the explanations below.
+
+When we speak of free software, we are referring to freedom of use, not price.
+Our General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish); that you receive source code or can get it if you want it; that you
+can change the software and use pieces of it in new free programs; and that
+you are informed that you can do these things.
+
+To protect your rights, we need to make restrictions that forbid distributors
+to deny you these rights or to ask you to surrender these rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+other code with the library, you must provide complete object files to the
+recipients, so that they can relink them with the library after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+We protect your rights with a two-step method: (1) we copyright the library,
+and (2) we offer you this license, which gives you legal permission to copy,
+distribute and/or modify the library.
+
+To protect each distributor, we want to make it very clear that there is no
+warranty for the free library. Also, if the library is modified by someone
+else and passed on, the recipients should know that what they have is not
+the original version, so that the original author's reputation will not be
+affected by problems that might be introduced by others.
+
+Finally, software patents pose a constant threat to the existence of any free
+program. We wish to make sure that a company cannot effectively restrict the
+users of a free program by obtaining a restrictive license from a patent holder.
+Therefore, we insist that any patent license obtained for a version of the
+library must be consistent with the full freedom of use specified in this
+license.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License. This license, the GNU Lesser General Public License,
+applies to certain designated libraries, and is quite different from the ordinary
+General Public License. We use this license for certain libraries in order
+to permit linking those libraries into non-free programs.
+
+When a program is linked with a library, whether statically or using a shared
+library, the combination of the two is legally speaking a combined work, a
+derivative of the original library. The ordinary General Public License therefore
+permits such linking only if the entire combination fits its criteria of freedom.
+The Lesser General Public License permits more lax criteria for linking other
+code with the library.
+
+We call this license the "Lesser" General Public License because it does Less
+to protect the user's freedom than the ordinary General Public License. It
+also provides other free software developers Less of an advantage over competing
+non-free programs. These disadvantages are the reason we use the ordinary
+General Public License for many libraries. However, the Lesser license provides
+advantages in certain special circumstances.
+
+For example, on rare occasions, there may be a special need to encourage the
+widest possible use of a certain library, so that it becomes a de-facto standard.
+To achieve this, non-free programs must be allowed to use the library. A more
+frequent case is that a free library does the same job as widely used non-free
+libraries. In this case, there is little to gain by limiting the free library
+to free software only, so we use the Lesser General Public License.
+
+In other cases, permission to use a particular library in non-free programs
+enables a greater number of people to use a large body of free software. For
+example, permission to use the GNU C Library in non-free programs enables
+many more people to use the whole GNU operating system, as well as its variant,
+the GNU/Linux operating system.
+
+Although the Lesser General Public License is Less protective of the users'
+freedom, it does ensure that the user of a program that is linked with the
+Library has the freedom and the wherewithal to run that program using a modified
+version of the Library.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, whereas the latter must be combined with the library in
+order to run.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library or other program
+which contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Lesser General
+Public License (also called "this License"). Each licensee is addressed as
+"you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+      a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also combine or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Use a suitable shared library mechanism for linking with the Library. A
+suitable mechanism is one that (1) uses at run time a copy of the library
+already present on the user's computer system, rather than copying library
+functions into the executable, and (2) will operate properly with a modified
+version of the library, if the user installs one, as long as the modified
+version is interface-compatible with the version that the work was made with.
+
+c) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+d) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+e) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the materials to be distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties with this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Lesser General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+   NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+< one line to give the library's name and an idea of what it does. >
+
+Copyright (C) < year > < name of author >
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the Free
+Software Foundation; either version 2.1 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details.
+
+You should have received a copy of the GNU Lesser General Public License along
+with this library; if not, write to the Free Software Foundation, Inc., 51
+Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information
+on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+< signature of Ty Coon > , 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/LICENSES/LGPL-3.0-only.txt b/LICENSES/LGPL-3.0-only.txt
new file mode 100644 (file)
index 0000000..bd405af
--- /dev/null
@@ -0,0 +1,163 @@
+GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the terms
+and conditions of version 3 of the GNU General Public License, supplemented
+by the additional permissions listed below.
+
+   0. Additional Definitions.
+
+      
+
+As used herein, "this License" refers to version 3 of the GNU Lesser General
+Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
+License.
+
+      
+
+"The Library" refers to a covered work governed by this License, other than
+an Application or a Combined Work as defined below.
+
+      
+
+An "Application" is any work that makes use of an interface provided by the
+Library, but which is not otherwise based on the Library. Defining a subclass
+of a class defined by the Library is deemed a mode of using an interface provided
+by the Library.
+
+      
+
+A "Combined Work" is a work produced by combining or linking an Application
+with the Library. The particular version of the Library with which the Combined
+Work was made is also called the "Linked Version".
+
+      
+
+The "Minimal Corresponding Source" for a Combined Work means the Corresponding
+Source for the Combined Work, excluding any source code for portions of the
+Combined Work that, considered in isolation, are based on the Application,
+and not on the Linked Version.
+
+      
+
+The "Corresponding Application Code" for a Combined Work means the object
+code and/or source code for the Application, including any data and utility
+programs needed for reproducing the Combined Work from the Application, but
+excluding the System Libraries of the Combined Work.
+
+   1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License without
+being bound by section 3 of the GNU GPL.
+
+   2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a facility
+refers to a function or data to be supplied by an Application that uses the
+facility (other than as an argument passed when the facility is invoked),
+then you may convey a copy of the modified version:
+
+a) under this License, provided that you make a good faith effort to ensure
+that, in the event an Application does not supply the function or data, the
+facility still operates, and performs whatever part of its purpose remains
+meaningful, or
+
+b) under the GNU GPL, with none of the additional permissions of this License
+applicable to that copy.
+
+   3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a header
+file that is part of the Library. You may convey such object code under terms
+of your choice, provided that, if the incorporated material is not limited
+to numerical parameters, data structure layouts and accessors, or small macros,
+inline functions and templates (ten or fewer lines in length), you do both
+of the following:
+
+a) Give prominent notice with each copy of the object code that the Library
+is used in it and that the Library and its use are covered by this License.
+
+b) Accompany the object code with a copy of the GNU GPL and this license document.
+
+   4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken together,
+effectively do not restrict modification of the portions of the Library contained
+in the Combined Work and reverse engineering for debugging such modifications,
+if you also do each of the following:
+
+a) Give prominent notice with each copy of the Combined Work that the Library
+is used in it and that the Library and its use are covered by this License.
+
+b) Accompany the Combined Work with a copy of the GNU GPL and this license
+document.
+
+c) For a Combined Work that displays copyright notices during execution, include
+the copyright notice for the Library among these notices, as well as a reference
+directing the user to the copies of the GNU GPL and this license document.
+
+      d) Do one of the following:
+
+0) Convey the Minimal Corresponding Source under the terms of this License,
+and the Corresponding Application Code in a form suitable for, and under terms
+that permit, the user to recombine or relink the Application with a modified
+version of the Linked Version to produce a modified Combined Work, in the
+manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
+
+1) Use a suitable shared library mechanism for linking with the Library. A
+suitable mechanism is one that (a) uses at run time a copy of the Library
+already present on the user's computer system, and (b) will operate properly
+with a modified version of the Library that is interface-compatible with the
+Linked Version.
+
+e) Provide Installation Information, but only if you would otherwise be required
+to provide such information under section 6 of the GNU GPL, and only to the
+extent that such information is necessary to install and execute a modified
+version of the Combined Work produced by recombining or relinking the Application
+with a modified version of the Linked Version. (If you use option 4d0, the
+Installation Information must accompany the Minimal Corresponding Source and
+Corresponding Application Code. If you use option 4d1, you must provide the
+Installation Information in the manner specified by section 6 of the GNU GPL
+for conveying Corresponding Source.)
+
+   5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library side
+by side in a single library together with other library facilities that are
+not Applications and are not covered by this License, and convey such a combined
+library under terms of your choice, if you do both of the following:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities, conveyed under the
+terms of this License.
+
+b) Give prominent notice with the combined library that part of it is a work
+based on the Library, and explaining where to find the accompanying uncombined
+form of the same work.
+
+   6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions of the
+GNU Lesser General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library as you
+received it specifies that a certain numbered version of the GNU Lesser General
+Public License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that published version or of
+any later version published by the Free Software Foundation. If the Library
+as you received it does not specify a version number of the GNU Lesser General
+Public License, you may choose any version of the GNU Lesser General Public
+License ever published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide whether
+future versions of the GNU Lesser General Public License shall apply, that
+proxy's public statement of acceptance of any version is permanent authorization
+for you to choose that version for the Library.
diff --git a/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt b/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt
new file mode 100644 (file)
index 0000000..232b3c5
--- /dev/null
@@ -0,0 +1,12 @@
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 3 of the license or (at your option) any later version
+that is accepted by the membership of KDE e.V. (or its successor
+approved by the membership of KDE e.V.), which shall act as a
+proxy as defined in Section 6 of version 3 of the license.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt
new file mode 100644 (file)
index 0000000..204b93d
--- /dev/null
@@ -0,0 +1,19 @@
+MIT License Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..e1d1cc6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+# KConfig
+
+Persistent platform-independent application settings.
+
+## Introduction
+
+KConfig provides an advanced configuration system. It is made of two parts:
+KConfigCore and KConfigGui.
+
+KConfigCore provides access to the configuration files themselves. It features:
+
+- Code generation: describe your configuration in an XML file, and use
+  kconfig_compiler to generate classes that read and write configuration
+  entries.
+- Cascading configuration files (global settings overridden by local settings).
+- Optional shell expansion support (see [docs/options.md](@ref options)).
+- The ability to lock down configuration options (see
+  [docs/options.md](@ref options)).
+
+KConfigGui provides a way to hook widgets to the configuration so that they are
+automatically initialized from the configuration and automatically propagate
+their changes to their respective configuration files.
+
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..4f86d87
--- /dev/null
+++ b/TODO
@@ -0,0 +1,175 @@
+bugs
+====
+
+- make expandString stuff consistent
+- KConfigGroup::exists() should return true only if the group contains
+  any non-deleted entries (?)
+- immutable groups with no entries are not written out and thus lose
+  their immutability.
+- "C" & "en_US" should be detected early and converted to a null string
+  (but also save the original string, so locale() semantics don't change
+  at that point).
+
+wishes
+======
+
+- use lazy loading
+  - load as soon as the first KConfigGroup is instantiated
+  - lazy parsing of values is interesting, too - see kconfig_take2 branch
+- add $\\VAR and $\\(cmd) escapes to list-quote expanded string
+- possibly:
+  - preserve unchanged parts of the config literally. problem: comments
+    might become stale. so if a comment is already there, add an additional
+    comment that indicates that the value was changed (include old value?).
+  - api to actively add comments to files, groups and keys
+    - option to start these comments with ## as a sign that they should not
+      trigger the above change indicator logic.
+  - guaranteeing that write order of new keys is preserved
+  - detect commented out entries and put actual entries with the same key
+    right behind them
+- possibly: selective multi-level master diversion
+  - this is to support roaming profiles that have machine/user/etc. specific
+    settings
+  - files, groups and keys can have [$m] and [$s] markers; these cascade
+    within each file only. the least significant object (farthest away from
+    the master) with an effective $m mode becomes the master (i.e., is
+    written to and not read past).
+    default is $m for the master file and $s for the default files.
+  - the CascadeConfig flag being unset doesn't make things exactly simpler
+  - can kdeglobals be handled by this?
+  - does this really make sense? promoting an object to profile wide status
+    is a conscious decision - which probably needs to be repeated every time
+    the value changes.
+
+internals
+=========
+
+- clear up bDeleted vs. isNull in entrymap
+- make entrymap truly hierarchical
+  - an entry map contains its flags, a map of keys and a map of submaps.
+    it does NOT contain its name and has no parent pointer.
+  - when creating a kconfiggroup, ask parent for the respective submap
+    and link it if it is present. if it is not, create one at write op,
+    link it and tell parent to add it to its entry map. both query and
+    creation are recursive, obviously.
+    a kconfiggroup DOES contain its name and has a parent pointer.
+  - 3)
+- 4)
+
+3)
+> We wouldn't have to worry about the KEntryGroup being removed out from
+> under us, because the only way that should happen is if the config
+> object is destroyed or reparsed, and in those cases you shouldn't be
+> using a KConfigGroup from prior to that.
+>
+i don't think "this is stupid and will not happen" works; [...]
+given that cascaded parsing includes writing to existing maps, i think
+the simplest approach is clearing the existing structure from keymaps
+and resetting the attributes, but leaving the subgroup maps populated,
+thus keeping any group refs valid.
+the question is about the type of reference held to the entry map.
+originally i had thought of pointers. a map would be linked only if it
+really existed, otherwise the pointer would be null (thus indicating
+reads to return the default immediately and writes to ask the parent to
+create a submap). however, keeping that consistent with deletions would
+be a nightmare, and with the rescan changing the groups underneath
+impossible without each map having a list of referring configgroups.
+therefore it might make more sense to always create a corresponding tree
+of empty maps when a configroup for a non-existing group is instantiated
+- these groups won't be written out (they have no entries and cannot be
+immutable) and access to non-existing groups (esp. without an subsequent
+write that would actually create it) is rare, so the performance and
+memory overhead of this "eager" approach is likely to be negligible. as
+a middle way one could use a pointer and lazily populate it on first
+access without putting semantics into the pointer being already set,
+but i don't think the added complexity will pay off.
+
+4)
+> > > > hmm, wait. maybe it would be better if the map did not do actual
+> > > > permission checking. the frontend is peppered with asserts already
+> > >
+> > > that's the group doing permission checking, if this group is immutable
+> > > then the entry can't be changed. plus, now that KEntryKey doesn't know
+> > > what group it belongs to KEntryMap can't check if the group is
+> > > immutable.
+> > >
+> > > > (need to consider how to handle release builds). in the backend, the
+> > > > ugly immutableGroups hack would be unnecessary.
+> > >
+> > > no, immutableGroups would still be necessary unless i remove all
+> > > checking from KGroupEntry and KEntryMap. but, then checks for
+> > > immutable would have to be used everywhere that an entry might be
+> > > changed.
+> > >
+> > yes - and the frontend already handles it and the backend *should*
+> > handle it (issue warnings for trying to overwrite $i settings).
+>
+> i don't know, i think most handling of the immutability of a group
+> can/should be handled by the KGroupEntry itself. this way we can keep
+> all the data about a group in one place and let KGroupEntry keep
+> itself in a consistent/valid state.
+>
+dunno, either. the use cases are:
+- backend: writing immutable objects is fine, as long as the
+  immutability does not come from a pre-existing default.
+  given that there will be multiple backends, it sounds like
+  centralizing the check and warning reporting might make sense. otoh,
+  such a low-level function might not have enough context to make a
+  useful message.
+- frontend: obviously, writing immutable objects is not permitted. this
+  is already checked everywhere through asserts. in non-debug builds
+  these asserts have no effect, but if a write gets that far it means
+  that the app already permitted changing the option in the first place
+  due to failure to check for immutability. i don't see much point in
+  preventing the illegitimate change from being saved, as it can be
+  repeated anyway (i'm not really convinced of security through
+  exhaustion/boredom of the attacker :).
+i'm not sure whether that means that the two use cases need separate
+mutators or whether the mutator should not apply any immutability
+semantics at all.
+
+
+overwriting semantics
+=====================
+
+generally:
+- localized entries cannot exist without an unlocalized "primary" entry,
+  so writing a localized key when no corresponding unlocalized key
+  exists should print a warning and copy the value to the unlocalized
+  key.
+- a primary entry in the user config overshadows not only the immediate
+  default, but also any localizations of the default. applies also to a
+  [$d] marker, obviously.
+  a localized entry in the user config overshadows only that
+  localization from the default.
+
+write ops:
+> > - writing an entry with the localization flag changes really only that
+> >   key.
+> >   trying to change the globality of the key prints a warning and does
+> >   nothing.
+- key exists in local config => overwritten
+- key does not exist => created
+yes, that's the trivial case.
+
+> > - writing an entry without the localization flag deletes all
+> >   localizations.
+> >   in this case, changing the globality of the key poses no problem.
+- the key itself is handled trivially
+- if localizations exist in the local config, they are actively purged
+- localizations in the default config don't matter, as they will be
+  overshadowed by the unlocalized key in the local config
+
+> > - deleting an entry also deletes all localizations.
+- if default exists, write [$d] entry
+- if no default exists, delete entry
+- if localizations exist in the local config, they are actively purged
+- localizations in the default config don't matter, as they will be
+  overshadowed by the unlocalized key in the local config (as
+  localizations cannot exist without a primary key, a deletion marker
+  key will be present).
+
+> > - reverting a key to default also restores all localizations.
+- any local entries are actively purged
+
+
diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b674aba
--- /dev/null
@@ -0,0 +1,88 @@
+include(ECMAddTests)
+
+find_package(Qt6Test ${REQUIRED_QT_VERSION} CONFIG QUIET)
+find_package(Qt6Concurrent ${REQUIRED_QT_VERSION} CONFIG QUIET)
+
+if(NOT Qt6Test_FOUND)
+    message(STATUS "Qt6Test not found, autotests will not be built.")
+    return()
+endif()
+
+if(NOT Qt6Concurrent_FOUND)
+    message(STATUS "Qt6Concurrent not found, autotests will not be built.")
+    return()
+endif()
+
+# compile KEntryMap into the test since it's not exported
+ecm_add_test(
+  kentrymaptest.cpp
+  ../src/core/kconfigdata.cpp
+  TEST_NAME kentrymaptest
+  LINK_LIBRARIES Qt6::Test
+)
+target_include_directories(kentrymaptest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src/core)
+
+qt_add_resources(sharedconfigresources sharedconfigresources.qrc)
+
+ecm_add_test(ksharedconfigtest.cpp ${sharedconfigresources} TEST_NAME kconfigcore-ksharedconfigtest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent)
+
+# test for fallback to :/kconfig/xxxx config resource
+qt_add_resources(fallbackconfigresources fallbackconfigresources.qrc)
+ecm_add_test(fallbackconfigresourcestest.cpp ${fallbackconfigresources} TEST_NAME kconfigcore-fallbackconfigresourcestest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent)
+
+ecm_add_tests(
+    kconfignokdehometest.cpp
+    kconfigtest.cpp
+    kdesktopfiletest.cpp
+    test_kconf_update.cpp
+    ksharedconfig_in_global_object.cpp
+    dbussanitizertest.cpp
+    NAME_PREFIX kconfigcore-
+    LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent
+)
+
+add_dependencies(test_kconf_update kconf_update)
+
+if(TARGET Qt6::Gui)
+ecm_add_tests(
+    kconfigguitest.cpp
+    kconfigloadertest.cpp
+    kconfigskeletontest.cpp
+    kstandardshortcuttest.cpp
+    NAME_PREFIX kconfiggui-
+    LINK_LIBRARIES KF6::ConfigGui Qt6::Test
+)
+
+ecm_add_test(
+    kstandardshortcutwatchertest.cpp
+    # add sources instead of linking so we can use the unexported initialize()
+    ../src/gui/kstandardshortcut.cpp
+    ../src/gui/kstandardshortcutwatcher.cpp
+    LINK_LIBRARIES KF6::ConfigCore Qt6::Gui Qt6::Test
+    TEST_NAME kstandardshortcutwatchertest
+    NAME_PREFIX kconfiggui-
+)
+target_include_directories(kstandardshortcutwatchertest PRIVATE "$<TARGET_PROPERTY:KF6ConfigGui,INTERFACE_INCLUDE_DIRECTORIES>")
+target_compile_definitions(kstandardshortcutwatchertest PRIVATE "-DKCONFIGGUI_STATIC_DEFINE")
+
+# These tests do a global cleanup of ~/.qttest, so they can't run in parallel
+set_tests_properties(kconfigcore-kconfigtest PROPERTIES RUN_SERIAL TRUE)
+set_tests_properties(kconfigcore-kconfignokdehometest PROPERTIES RUN_SERIAL TRUE)
+set_tests_properties(kconfiggui-kconfigguitest PROPERTIES RUN_SERIAL TRUE)
+
+if(NOT CMAKE_CROSSCOMPILING)
+    add_subdirectory(kconfig_compiler)
+endif()
+endif()
+
+find_package(Qt6 OPTIONAL_COMPONENTS Widgets)
+if(TARGET Qt6::Widgets)
+    ecm_add_test(kwindowstatesavertest.cpp LINK_LIBRARIES KF6::ConfigGui Qt6::Test Qt6::Widgets)
+endif()
+
+# benchmarks, don't execute during normal testing
+# they don't test additional stuff
+add_executable(kconfig_benchmark kconfig_benchmark.cpp)
+ecm_mark_nongui_executable(kconfig_benchmark)
+add_test(NAME kconfig_benchmark COMMAND kconfig_benchmark CONFIGURATIONS BENCHMARK)
+target_link_libraries(kconfig_benchmark KF6::ConfigCore Qt6::Test)
diff --git a/autotests/dbussanitizertest.cpp b/autotests/dbussanitizertest.cpp
new file mode 100644 (file)
index 0000000..c620c75
--- /dev/null
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: LGPL-2.0-or-later
+// SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+#include "dbussanitizer_p.h"
+
+#include <QTest>
+
+class DBusSanitizerTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void test()
+    {
+        QCOMPARE(kconfigDBusSanitizePath(QStringLiteral("/plasma_org-kde!plasma~desktop:appletsrc")),
+                 QStringLiteral("/plasma_org_kde_plasma_desktop_appletsrc"));
+    }
+};
+
+QTEST_GUILESS_MAIN(DBusSanitizerTest)
+#include "dbussanitizertest.moc"
diff --git a/autotests/fallbackconfigresources.qrc b/autotests/fallbackconfigresources.qrc
new file mode 100644 (file)
index 0000000..0a39571
--- /dev/null
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+    <qresource prefix="/kconfig">
+        <file alias="kconfigtesting">test.ini</file>
+    </qresource>
+</RCC>
diff --git a/autotests/fallbackconfigresourcestest.cpp b/autotests/fallbackconfigresourcestest.cpp
new file mode 100644 (file)
index 0000000..56d065c
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+   This file is part of the KDE libraries
+   SPDX-FileCopyrightText: 2015 Christoph Cullmann <cullmann@kde.org>
+
+   SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QTest>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+class FallbackConfigResourcesTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testResourceFallbackFile();
+};
+
+void FallbackConfigResourcesTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+}
+
+void FallbackConfigResourcesTest::testResourceFallbackFile()
+{
+    KSharedConfig::Ptr sharedConfig = KSharedConfig::openConfig(QStringLiteral("kconfigtesting"), KConfig::NoGlobals);
+    QVERIFY(sharedConfig);
+
+    KConfigGroup cfg(sharedConfig, QStringLiteral("MainSection"));
+    QCOMPARE(cfg.readEntry(QStringLiteral("TestEntry"), QStringLiteral("UnexpectedData")), QStringLiteral("ExpectedData"));
+}
+
+QTEST_MAIN(FallbackConfigResourcesTest)
+
+#include "fallbackconfigresourcestest.moc"
diff --git a/autotests/helper.h b/autotests/helper.h
new file mode 100644 (file)
index 0000000..513916a
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+    SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+#ifndef KCONFIG_AUTOTESTS_HELPER_H
+#define KCONFIG_AUTOTESTS_HELPER_H
+
+#include <QLocale>
+
+/**
+ * @brief Helper to store the current default QLocale and resetting to it in the dtor.
+ **/
+class DefaultLocale
+{
+public:
+    DefaultLocale()
+        : m_defaultLocale()
+    {
+    }
+    ~DefaultLocale()
+    {
+        QLocale::setDefault(m_defaultLocale);
+    }
+
+private:
+    QLocale m_defaultLocale;
+};
+
+#endif
diff --git a/autotests/kconfig_benchmark.cpp b/autotests/kconfig_benchmark.cpp
new file mode 100644 (file)
index 0000000..462dbad
--- /dev/null
@@ -0,0 +1,101 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2024 Friedrich W. H. Kossebau <kossebau@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <KConfig>
+#include <KConfigGroup>
+
+#include <QObject>
+#include <QStandardPaths>
+#include <QTest>
+
+static const QString s_test_subdir{QStringLiteral("kconfigtest_subdir/")};
+static const QString s_kconfig_test_subdir(s_test_subdir + QLatin1String("kconfigtest"));
+
+static const QString s_string_entry1(QStringLiteral("hello"));
+
+class KConfigBenchmark : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void initTestCase();
+
+    void testHasKey();
+    void testReadEntry();
+    void testKConfigGroupKeyList();
+};
+
+void KConfigBenchmark::initTestCase()
+{
+    // ensure we don't use files in the real config directory
+    QStandardPaths::setTestModeEnabled(true);
+
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("Main"));
+    cg.deleteGroup();
+    cg.writeEntry("UsedEntry", s_string_entry1);
+}
+
+void KConfigBenchmark::testHasKey()
+{
+    bool hasUsedKey = false;
+    bool hasNotUsedKey = true;
+
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("Main"));
+
+    QBENCHMARK {
+        hasUsedKey = cg.hasKey("UsedEntry");
+        hasNotUsedKey = cg.hasKey("NotUsedEntry");
+    }
+
+    QCOMPARE(hasUsedKey, true);
+    QCOMPARE(hasNotUsedKey, false);
+}
+
+void KConfigBenchmark::testReadEntry()
+{
+    QString usedEntry;
+    QString notUsedEntry;
+    const QString defaultEntry = QStringLiteral("Default");
+
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("Main"));
+
+    QBENCHMARK {
+        usedEntry = cg.readEntry("UsedEntry", defaultEntry);
+        notUsedEntry = cg.readEntry("NotUsedEntry", defaultEntry);
+    }
+
+    QCOMPARE(usedEntry, s_string_entry1);
+    QCOMPARE(notUsedEntry, defaultEntry);
+}
+
+void KConfigBenchmark::testKConfigGroupKeyList()
+{
+    QStringList keyList;
+    const QString defaultEntry = QStringLiteral("Default");
+
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("Main"));
+    cg.writeEntry("Entry2", s_string_entry1);
+    cg.writeEntry("Entry3", s_string_entry1);
+
+    QBENCHMARK {
+        keyList = cg.keyList();
+    }
+
+    const QStringList expectedKeyList{
+        QStringLiteral("Entry2"),
+        QStringLiteral("Entry3"),
+        QStringLiteral("UsedEntry"),
+    };
+    QCOMPARE(keyList, expectedKeyList);
+}
+
+QTEST_GUILESS_MAIN(KConfigBenchmark)
+
+#include "kconfig_benchmark.moc"
diff --git a/autotests/kconfig_compiler/CMakeLists.txt b/autotests/kconfig_compiler/CMakeLists.txt
new file mode 100644 (file)
index 0000000..286948f
--- /dev/null
@@ -0,0 +1,187 @@
+# make sure the generated headers can be found
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+include(ECMMarkAsTest)
+include(${CMAKE_SOURCE_DIR}/KF6ConfigMacros.cmake)
+
+macro(GEN_KCFG_TEST_SOURCE _testName _srcs)
+    KCONFIG_ADD_KCFG_FILES(${_srcs} ${_testName}.kcfgc ${ARGN})
+endmacro()
+
+function(kconfig_compiler_test ARG_NAME)
+    cmake_parse_arguments(PARSE_ARGV 1 ARG "GENERATE_MOC" "MAIN;CLASS_NAME;KCFG;KCFGC" "")
+
+    string(TOLOWER "${ARG_NAME}" _name_lc)
+
+    if("${ARG_MAIN}" STREQUAL "")
+        set(ARG_MAIN "${_name_lc}main.cpp")
+    endif()
+
+    if("${ARG_CLASS_NAME}" STREQUAL "")
+        set(ARG_CLASS_NAME "${ARG_NAME}")
+    endif()
+
+    if("${ARG_KCFG}" STREQUAL "")
+        set(ARG_KCFG "${_name_lc}.kcfg")
+    endif()
+
+    if("${ARG_KCFGC}" STREQUAL "")
+        set(ARG_KCFGC "${_name_lc}.kcfgc")
+    endif()
+
+    if(${ARG_GENERATE_MOC})
+        set(_moc GENERATE_MOC)
+    endif()
+
+    # execute the tests in ${CMAKE_CURRENT_BINARY_DIR} to ensure we can easily find the generated files
+
+    ecm_add_test(TEST_NAME ${ARG_NAME} ${ARG_MAIN} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    KCONFIG_ADD_KCFG_FILES(${ARG_NAME} "${ARG_KCFGC}" ${_moc})
+    target_link_libraries(${ARG_NAME} Qt6::Test Qt6::Qml KF6::ConfigGui)
+
+    ecm_add_test(TEST_NAME ${ARG_NAME}_cmake ${ARG_MAIN} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    get_filename_component(_kcfg_we "${ARG_KCFG}" NAME_WE)
+    configure_file("${ARG_KCFG}" "${_kcfg_we}_cmake.kcfg" COPYONLY)
+    kconfig_target_kcfg_file(${ARG_NAME}_cmake FILE "${CMAKE_CURRENT_BINARY_DIR}/${_kcfg_we}_cmake.kcfg" CLASS_NAME "${ARG_CLASS_NAME}" ${_moc} ${ARG_UNPARSED_ARGUMENTS})
+    target_link_libraries(${ARG_NAME}_cmake Qt6::Test Qt6::Qml KF6::ConfigGui)
+    add_dependencies(${ARG_NAME}_cmake ${ARG_NAME})
+endfunction()
+
+kconfig_compiler_test(Test1 PARENT_IN_CONSTRUCTOR MUTATORS)
+kconfig_compiler_test(Test2 MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS SET_USER_TEXTS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public)
+kconfig_compiler_test(Test3 MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS NAME_SPACE TestNameSpace)
+kconfig_compiler_test(Test3a MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS NAME_SPACE TestNameSpace::InnerNameSpace)
+kconfig_compiler_test(Test4 SINGLETON MUTATORS)
+kconfig_compiler_test(Test5 PARENT_IN_CONSTRUCTOR SINGLETON MUTATORS GLOBAL_ENUMS)
+kconfig_compiler_test(Test6 MUTATORS GLOBAL_ENUMS)
+kconfig_compiler_test(Test7 MUTATORS GLOBAL_ENUMS)
+
+kconfig_compiler_test(Test8 KCFGC test8a.kcfgc KCFG test8a.kcfg CLASS_NAME Test8a PARENT_IN_CONSTRUCTOR MUTATORS)
+KCONFIG_ADD_KCFG_FILES(Test8 test8c.kcfgc)
+KCONFIG_ADD_KCFG_FILES(Test8 test8b.kcfgc)
+kconfig_target_kcfg_file(Test8_cmake FILE test8b.kcfg CLASS_NAME Test8b SINGLETON MUTATORS INCLUDE_FILES test8a.h INHERITS Test8a)
+kconfig_target_kcfg_file(Test8_cmake FILE test8c.kcfg CLASS_NAME Test8c SINGLETON PARENT_IN_CONSTRUCTOR MUTATORS)
+
+kconfig_compiler_test(Test9 MEMBER_VARIABLES public MUTATORS)
+kconfig_compiler_test(Test10 SINGLETON)
+
+kconfig_compiler_test(Test11 PARENT_IN_CONSTRUCTOR MUTATORS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public ITEM_ACCESSORS SET_USER_TEXTS USE_ENUM_TYPES DEFAULT_VALUE_GETTERS)
+KCONFIG_ADD_KCFG_FILES(Test11 test11a.kcfgc)
+kconfig_target_kcfg_file(Test11_cmake FILE test11a.kcfg CLASS_NAME Test11a MUTATORS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public ITEM_ACCESSORS SET_USER_TEXTS USE_ENUM_TYPES DEFAULT_VALUE_GETTERS)
+
+kconfig_compiler_test(Test12 test12main.cpp)
+kconfig_compiler_test(Test13 test13main.cpp MUTATORS GENERATE_PROPERTIES GENERATE_MOC)
+kconfig_compiler_test(Test14 KCFGC test14.kcfgc KCFG test14.kcfg CLASS_NAME Test14 GENERATE_PROPERTIES GENERATE_MOC SINGLETON QML_REGISTRATION)
+kconfig_compiler_test(Test15 CLASS_NAME Test15 GENERATE_PROPERTIES GENERATE_MOC SINGLETON QML_REGISTRATION)
+
+kconfig_compiler_test(test_state_config MAIN test_state_config_main.cpp CLASS_NAME MyStateConfig MUTATORS ITEM_ACCESSORS GENERATE_MOC)
+kconfig_compiler_test(test_emptyentries MAIN test_emptyentries_main.cpp CLASS_NAME QMakeBuilderSettings SINGLETON GENERATE_MOC)
+kconfig_compiler_test(test_subgroups MAIN test_subgroups_main.cpp CLASS_NAME TestSubgroups NOTIFIERS GENERATE_MOC)
+kconfig_compiler_test(test_dpointer MAIN test_dpointer_main.cpp CLASS_NAME TestDPointer SINGLETON MUTATORS MEMBER_VARIABLES dpointer ITEM_ACCESSORS SET_USER_TEXTS)
+kconfig_compiler_test(test_signal MAIN test_signal_main.cpp CLASS_NAME TestSignal SINGLETON MUTATORS MEMBER_VARIABLES private GENERATE_MOC)
+kconfig_compiler_test(test_notifiers MAIN test_notifiers_main.cpp CLASS_NAME TestNotifiers MUTATORS GLOBAL_ENUMS NOTIFIERS)
+
+########### next target ###############
+
+set(kconfigcompiler_test_signals_SRCS kconfigcompiler_test_signals.cpp)
+gen_kcfg_test_source(signals_test_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_no_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_no_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_singleton_itemaccessors kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+
+ecm_add_test(${kconfigcompiler_test_signals_SRCS}
+    TEST_NAME kconfigcompiler-signals-test
+    LINK_LIBRARIES Qt6::Test KF6::ConfigGui
+)
+
+########### next target ###############
+
+set(test_properties_minmax_SRCS test_properties_minmax_main.cpp)
+gen_kcfg_test_source(test_properties_minmax test_properties_minmax_SRCS GENERATE_MOC)
+
+ecm_add_test(${test_properties_minmax_SRCS}
+    TEST_NAME test_properties_minmax
+    LINK_LIBRARIES KF6::ConfigGui
+)
+
+########### next target ###############
+
+set(test_param_minmax_SRCS test_param_minmax_main.cpp)
+gen_kcfg_test_source(test_param_minmax test_param_minmax_SRCS)
+
+ecm_add_test(${test_param_minmax_SRCS}
+    TEST_NAME test_param_minmax
+    LINK_LIBRARIES KF6::ConfigGui
+)
+
+########### next target ###############
+
+ecm_add_test(kconfigcompiler_test.cpp
+    TEST_NAME kconfigcompiler-basic-test
+    LINK_LIBRARIES Qt6::Test
+)
+
+
+########### next target ###############
+
+set(test_qcategory_SRCS test_qdebugcategorymain.cpp test_qdebugcategory_debug.cpp)
+gen_kcfg_test_source(test_qdebugcategory test_qcategory_SRCS)
+ecm_add_test(TEST_NAME test_qdebugcategory ${test_qcategory_SRCS})
+target_link_libraries(test_qdebugcategory KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_qt_SRCS test_translation_qt_main.cpp)
+gen_kcfg_test_source(test_translation_qt test_translation_qt_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_qt ${test_translation_qt_SRCS})
+target_link_libraries(test_translation_qt KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_kde_SRCS test_translation_kde_main.cpp)
+gen_kcfg_test_source(test_translation_kde test_translation_kde_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_kde ${test_translation_kde_SRCS})
+target_link_libraries(test_translation_kde KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_kde_domain_SRCS test_translation_kde_domain_main.cpp)
+gen_kcfg_test_source(test_translation_kde_domain test_translation_kde_domain_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_kde_domain ${test_translation_kde_domain_SRCS})
+target_link_libraries(test_translation_kde_domain KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_fileextensions_SRCS test_fileextensions_main.cxx)
+gen_kcfg_test_source(test_fileextensions test_fileextensions_SRCS)
+
+ecm_add_test(TEST_NAME test_fileextensions ${test_fileextensions_SRCS})
+target_link_libraries(test_fileextensions KF6::ConfigGui)
+
+
+####### next target ##########
+## If this to compiles, we are sure that the generation is correct.
+set(test_enums_and_properties_SRCS enum_group_main.cpp)
+gen_kcfg_test_source(test_enums_and_properties test_enums_and_properties_SRCS GENERATE_MOC)
+ecm_add_test(TEST_NAME test_enums_and_properties ${test_enums_and_properties_SRCS})
+target_link_libraries(test_enums_and_properties KF6::ConfigGui)
+
+ecm_add_test(test14qml.cpp TEST_NAME test14qml)
+qt6_add_qml_module(test14qml URI "org.kde.kconfig.test14" QML_FILES Test14Qml.qml)
+kconfig_add_kcfg_files(test14qml "test14.kcfgc" GENERATE_MOC)
+target_link_libraries(test14qml PRIVATE Qt6::Gui Qt6::Qml Qt6::Test KF6::ConfigGui)
+if (NOT QT6_IS_SHARED_LIBS_BUILD)
+    qt6_import_qml_plugins(test14qml)
+endif()
+
+ecm_add_test(test15qml.cpp TEST_NAME test15qml)
+qt6_add_qml_module(test15qml URI "org.kde.kconfig.test15" QML_FILES Test15Qml.qml)
+kconfig_add_kcfg_files(test15qml "test15.kcfgc" GENERATE_MOC)
+target_link_libraries(test15qml PRIVATE Qt6::Gui Qt6::Qml Qt6::Test KF6::ConfigGui)
+if (NOT QT6_IS_SHARED_LIBS_BUILD)
+    qt6_import_qml_plugins(test15qml)
+endif()
diff --git a/autotests/kconfig_compiler/Test14Qml.qml b/autotests/kconfig_compiler/Test14Qml.qml
new file mode 100644 (file)
index 0000000..471b7b1
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+    SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+import QtQuick
+import org.kde.kconfig.test14
+
+Item {
+
+    property url dir: test.picturesDir
+    property double brightness: test.brightness
+
+    Test14 {
+        id: test
+    }
+}
diff --git a/autotests/kconfig_compiler/Test15Qml.qml b/autotests/kconfig_compiler/Test15Qml.qml
new file mode 100644 (file)
index 0000000..9b2d088
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+    SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+import QtQuick
+import org.kde.kconfig.test15
+
+Item {
+    property url dir: Test15.picturesDir
+    property double brightness: Test15.brightness
+}
diff --git a/autotests/kconfig_compiler/empty_main.cpp b/autotests/kconfig_compiler/empty_main.cpp
new file mode 100644 (file)
index 0000000..905869d
--- /dev/null
@@ -0,0 +1,4 @@
+int main()
+{
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/enum_group_main.cpp b/autotests/kconfig_compiler/enum_group_main.cpp
new file mode 100644 (file)
index 0000000..73e09ae
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test_enums_and_properties.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+
+    TestEnumsAndProperties t = TestEnumsAndProperties();
+
+    Q_UNUSED(app);
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/kconfigcompiler_test.cpp b/autotests/kconfig_compiler/kconfigcompiler_test.cpp
new file mode 100644 (file)
index 0000000..32a3217
--- /dev/null
@@ -0,0 +1,236 @@
+/*
+    Tests for KConfig Compiler
+
+    SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar <duncan@kde.org>
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigcompiler_test.h"
+#include <QDir>
+#include <QProcess>
+#include <QString>
+#include <QTest>
+#include <qstandardpaths.h>
+
+// QT5 TODO QTEST_GUILESS_MAIN(KConfigCompiler_Test)
+QTEST_MAIN(KConfigCompiler_Test)
+
+typedef const char *CompilerTestSet[];
+
+static CompilerTestSet testCases = {"test1.cpp",
+                                    "test1.h",
+                                    "test2.cpp",
+                                    "test2.h",
+                                    "test3.cpp",
+                                    "test3.h",
+                                    "test3a.cpp",
+                                    "test3a.h",
+                                    "test4.cpp",
+                                    "test4.h",
+                                    "test5.cpp",
+                                    "test5.h",
+                                    "test6.cpp",
+                                    "test6.h",
+                                    "test7.cpp",
+                                    "test7.h",
+                                    "test8a.cpp",
+                                    "test8a.h",
+                                    "test8b.cpp",
+                                    "test8b.h",
+                                    "test8c.cpp",
+                                    "test8c.h",
+                                    "test9.h",
+                                    "test9.cpp",
+                                    "test10.h",
+                                    "test10.cpp",
+                                    "test11.h",
+                                    "test11.cpp",
+                                    "test11a.h",
+                                    "test11a.cpp",
+                                    "test12.h",
+                                    "test12.cpp",
+                                    "test13.h",
+                                    "test13.cpp",
+                                    "test14.h",
+                                    "test14.cpp",
+                                    "test15.h",
+                                    "test15.cpp",
+                                    "test_dpointer.cpp",
+                                    "test_dpointer.h",
+                                    "test_qdebugcategory.cpp",
+                                    "test_qdebugcategory.h",
+                                    "test_signal.cpp",
+                                    "test_signal.h",
+                                    "test_notifiers.cpp",
+                                    "test_notifiers.h",
+                                    "test_translation_kde.cpp",
+                                    "test_translation_kde.h",
+                                    "test_translation_kde_domain.cpp",
+                                    "test_translation_kde_domain.h",
+                                    "test_translation_qt.cpp",
+                                    "test_translation_qt.h",
+                                    "test_emptyentries.cpp",
+                                    "test_emptyentries.h",
+                                    "test_properties_minmax.cpp",
+                                    "test_properties_minmax.h",
+                                    "test_param_minmax.cpp",
+                                    "test_param_minmax.h",
+                                    "test_subgroups.cpp",
+                                    "test_subgroups.h",
+                                    nullptr};
+
+static CompilerTestSet testCasesToRun = {"Test1",
+                                         "Test2",
+                                         "Test3",
+                                         "Test3a",
+                                         "Test4",
+                                         "Test5",
+                                         "Test6",
+                                         "Test7",
+                                         "Test8",
+                                         "Test9",
+                                         "Test10",
+                                         "Test11",
+                                         "Test12",
+                                         "Test13",
+                                         "Test14",
+                                         "Test15",
+                                         "test_enums_and_properties",
+                                         "test_dpointer",
+                                         "test_qdebugcategory",
+                                         "test_signal",
+                                         "test_translation_kde",
+                                         "test_translation_kde_domain",
+                                         "test_translation_qt",
+                                         "test_emptyentries",
+                                         "test_properties_minmax",
+                                         "test_param_minmax",
+                                         "test_subgroups",
+                                         "Test1_cmake",
+                                         "Test2_cmake",
+                                         "Test3_cmake",
+                                         "Test3a_cmake",
+                                         "Test4_cmake",
+                                         "Test5_cmake",
+                                         "Test6_cmake",
+                                         "Test7_cmake",
+                                         "Test8_cmake",
+                                         "Test9_cmake",
+                                         "Test10_cmake",
+                                         "Test11_cmake",
+                                         "Test12_cmake",
+                                         "Test13_cmake",
+                                         "Test14_cmake",
+                                         "Test15_cmake",
+                                         "test_dpointer_cmake",
+                                         "test_signal_cmake",
+                                         "test_emptyentries_cmake",
+                                         "test_subgroups_cmake",
+                                         nullptr};
+
+#if 0
+static CompilerTestSet willFailCases = {
+    // where is that QDir coming from?
+    //"test9.cpp", NULL
+    NULL
+};
+#endif
+
+void KConfigCompiler_Test::initTestCase()
+{
+    m_diffExe = QStandardPaths::findExecutable(QStringLiteral("diff"));
+    if (m_diffExe.isEmpty()) {
+        qDebug() << "diff command not found, detailed info on comparison failure will not be available.";
+    }
+}
+
+void KConfigCompiler_Test::testBaselineComparison_data()
+{
+    QTest::addColumn<QString>("testName");
+
+    for (const char **it = testCases; *it; ++it) {
+        QTest::newRow(*it) << QString::fromLatin1(*it);
+    }
+}
+
+void KConfigCompiler_Test::testBaselineComparison()
+{
+    QFETCH(QString, testName);
+
+    QFile file(testName);
+    QFile fileRef(QFINDTESTDATA(testName + QLatin1String(".ref")));
+
+    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+        qWarning() << "Failed to open" << file.fileName() << "(" << testName << ")";
+        QFAIL("Can't open file for comparison");
+    }
+    if (!fileRef.open(QIODevice::ReadOnly | QIODevice::Text)) {
+        qWarning() << "Failed to open" << fileRef.fileName() << "(" << testName << ".ref )";
+        QFAIL("Can't open file for comparison");
+    }
+    const QByteArray content = file.readAll();
+    const QByteArray contentRef = fileRef.readAll();
+
+    if (content != contentRef) {
+        appendFileDiff(fileRef.fileName(), file.fileName());
+    }
+
+    QVERIFY(content == contentRef);
+}
+
+void KConfigCompiler_Test::testRunning_data()
+{
+    QTest::addColumn<QString>("testName");
+
+    for (const char **it = testCasesToRun; *it; ++it) {
+        QTest::newRow(*it) << QString::fromLatin1(*it);
+    }
+}
+
+void KConfigCompiler_Test::testRunning()
+{
+    QFETCH(QString, testName);
+
+#ifdef Q_OS_WIN
+    testName += QLatin1String{".exe"};
+#endif
+
+    QString program = QFINDTESTDATA(testName);
+    QVERIFY2(!program.isEmpty(), qPrintable(testName + QLatin1String(" must exist!")));
+    QVERIFY2(QFile::exists(program), qPrintable(program + QLatin1String(" must exist!")));
+    QProcess process;
+    process.start(program, QStringList(), QIODevice::ReadOnly);
+    if (process.waitForStarted()) {
+        QVERIFY(process.waitForFinished());
+    }
+    QCOMPARE((int)process.error(), (int)QProcess::UnknownError);
+    QCOMPARE(process.exitCode(), 0);
+}
+
+void KConfigCompiler_Test::appendFileDiff(const QString &oldFile, const QString &newFile)
+{
+    if (m_diffExe.isEmpty()) {
+        return;
+    }
+
+    QStringList args({QStringLiteral("-u"), QFileInfo(oldFile).absoluteFilePath(), QFileInfo(newFile).absoluteFilePath()});
+
+    QProcess process;
+    process.start(m_diffExe, args, QIODevice::ReadOnly);
+    process.waitForStarted();
+    process.waitForFinished();
+
+    if (process.exitCode() == 1) {
+        const QString diffFileName = oldFile + QStringLiteral(".diff");
+        QFile diffFile(diffFileName);
+        QVERIFY2(diffFile.open(QIODevice::WriteOnly), qPrintable(QLatin1String("Could not save diff file for ") + oldFile));
+        diffFile.write(process.readAllStandardOutput());
+
+        // force a failure to print the flename where we stored the diff.
+        QVERIFY2(false, qPrintable(QLatin1String("This test failed, look at the following file for details: ") + diffFileName));
+    }
+}
+
+#include "moc_kconfigcompiler_test.cpp"
diff --git a/autotests/kconfig_compiler/kconfigcompiler_test.h b/autotests/kconfig_compiler/kconfigcompiler_test.h
new file mode 100644 (file)
index 0000000..c8242cf
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+    Tests for KConfig Compiler
+
+    SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar <duncan@kde.org>
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCOMPILER_TEST_H
+#define KCONFIGCOMPILER_TEST_H
+
+#include <QFile>
+#include <QObject>
+
+class QString;
+
+class KConfigCompiler_Test : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testBaselineComparison_data();
+    void testBaselineComparison();
+    void testRunning_data();
+    void testRunning();
+
+private:
+    void appendFileDiff(const QString &oldFile, const QString &newFile);
+
+    QString m_diffExe;
+};
+
+#endif
diff --git a/autotests/kconfig_compiler/kconfigcompiler_test_signals.cpp b/autotests/kconfig_compiler/kconfigcompiler_test_signals.cpp
new file mode 100644 (file)
index 0000000..46a2bd6
--- /dev/null
@@ -0,0 +1,214 @@
+/*
+    SPDX-FileCopyrightText: 2014 Alexander Richardson <alex.richardson@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "signals_test_no_singleton.h"
+#include "signals_test_no_singleton_dpointer.h"
+#include "signals_test_singleton.h"
+#include "signals_test_singleton_dpointer.h"
+#include "signals_test_singleton_itemaccessors.h"
+#include <QDebug>
+#include <QFileInfo>
+#include <QSignalSpy>
+#include <QTemporaryFile>
+#include <QtGlobal>
+#include <QtTestGui>
+#include <functional>
+
+class KConfigCompiler_Test_Signals : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void testSetters();
+    void testSetters_data();
+    void testSetProperty();
+    void testSetProperty_data();
+    void initTestCase();
+    void cleanupTestCase();
+};
+
+static SignalsTestNoSingleton *noSingleton;
+static SignalsTestNoSingletonDpointer *noSingletonDpointer;
+
+void KConfigCompiler_Test_Signals::initTestCase()
+{
+    // These tests do a lot quite a few I/O operations, speed that up by using a QTemporaryFile.
+    // At least on Linux this is often a tmpfs which means only RAM operations
+    QTemporaryFile *tempFile1 = new QTemporaryFile(this);
+    QTemporaryFile *tempFile2 = new QTemporaryFile(this);
+    QTemporaryFile *tempFile3 = new QTemporaryFile(this);
+    QTemporaryFile *tempFile4 = new QTemporaryFile(this);
+    QTemporaryFile *tempFile5 = new QTemporaryFile(this);
+    QVERIFY(tempFile1->open());
+    QVERIFY(tempFile2->open());
+    QVERIFY(tempFile3->open());
+    QVERIFY(tempFile4->open());
+    QVERIFY(tempFile5->open());
+
+    SignalsTestSingleton::instance(QFileInfo(*tempFile1).absoluteFilePath());
+    SignalsTestSingletonDpointer::instance(QFileInfo(*tempFile2).absoluteFilePath());
+    noSingleton = new SignalsTestNoSingleton(KSharedConfig::openConfig(QFileInfo(*tempFile3).absoluteFilePath(), KConfig::SimpleConfig));
+    noSingletonDpointer = new SignalsTestNoSingletonDpointer(KSharedConfig::openConfig(QFileInfo(*tempFile4).absoluteFilePath(), KConfig::SimpleConfig));
+    SignalsTestSingletonItemAccessors::instance(QFileInfo(*tempFile5).absoluteFilePath());
+}
+
+void KConfigCompiler_Test_Signals::cleanupTestCase()
+{
+    // ensure these instances are deleted before the temporary files are closed
+    delete noSingleton;
+    delete noSingletonDpointer;
+    delete SignalsTestSingleton::self();
+    delete SignalsTestSingletonDpointer::self();
+    delete SignalsTestSingletonItemAccessors::self();
+}
+
+struct TestSettersArg {
+    // default constructor required for Q_DECLARE_METATYPE
+    TestSettersArg()
+        : obj(nullptr)
+    {
+    }
+    template<typename T>
+    TestSettersArg(T *object)
+        : obj(object)
+    {
+        // we can also call static methods using object->foo() so this works for all four cases
+        getter = [object]() {
+            return object->foo();
+        };
+        defaultGetter = [object]() {
+            return object->defaultFooValue();
+        };
+        setter = [object](const QString &s) {
+            object->setFoo(s);
+        };
+    }
+    KCoreConfigSkeleton *obj;
+    std::function<QString()> getter;
+    std::function<QString()> defaultGetter;
+    std::function<void(const QString &)> setter;
+};
+
+Q_DECLARE_METATYPE(TestSettersArg) // so that QFETCH works
+
+void KConfigCompiler_Test_Signals::testSetters_data()
+{
+    QTest::addColumn<TestSettersArg>("params");
+    QTest::newRow("singleton") << TestSettersArg(SignalsTestSingleton::self());
+    QTest::newRow("singleton dpointer") << TestSettersArg(SignalsTestSingletonDpointer::self());
+    QTest::newRow("non-singleton") << TestSettersArg(noSingleton);
+    QTest::newRow("non-singleton dpointer") << TestSettersArg(noSingleton);
+    QTest::newRow("singleton itemaccessors") << TestSettersArg(SignalsTestSingletonItemAccessors::self());
+}
+
+/** Ensure that a signal is emitted whenever the data is changed by using the generated setters */
+void KConfigCompiler_Test_Signals::testSetters()
+{
+    QFETCH(TestSettersArg, params);
+    const char *signal = SIGNAL(fooChanged(QString));
+    const QString defaultValue = QStringLiteral("default");
+    const QString changedValue = QStringLiteral("changed");
+
+    // make sure we are in the default state
+    params.obj->setDefaults();
+    params.obj->save();
+
+    QList<QVariant> args;
+    QSignalSpy spy(params.obj, signal);
+    QVERIFY2(spy.isValid(), signal);
+
+    // change value via setter, should get signal
+    QCOMPARE(params.getter(), defaultValue);
+    QCOMPARE(defaultValue, params.defaultGetter());
+    QCOMPARE(params.getter(), params.defaultGetter());
+    QVERIFY(changedValue != params.getter());
+    params.setter(changedValue);
+    QCOMPARE(params.getter(), changedValue);
+    QCOMPARE(spy.count(), 0); // should have no change yet, only after save()
+    params.obj->save();
+    QCOMPARE(spy.count(), 1);
+    args = spy.takeFirst();
+    QCOMPARE(args.size(), 1);
+    QCOMPARE(args[0].toString(), changedValue);
+
+    // reset to default values via setDefaults()
+    QVERIFY(params.getter() != params.defaultGetter());
+    QVERIFY(params.getter() != defaultValue);
+    QCOMPARE(params.getter(), changedValue);
+    params.obj->setDefaults();
+    QCOMPARE(params.getter(), params.defaultGetter());
+    QCOMPARE(params.getter(), defaultValue);
+
+    QCOMPARE(spy.count(), 0); // should have no change yet, only after save()
+    params.obj->save();
+    // TODO: This currently fails since setDefaults() does not yet cause emitting a signal
+    QCOMPARE(spy.count(), 1);
+    args = spy.takeFirst();
+    QCOMPARE(args.size(), 1);
+    QCOMPARE(args[0].value<QString>(), defaultValue);
+}
+
+Q_DECLARE_METATYPE(KCoreConfigSkeleton *)
+
+void KConfigCompiler_Test_Signals::testSetProperty_data()
+{
+    QTest::addColumn<KCoreConfigSkeleton *>("obj");
+    QTest::newRow("singleton") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingleton::self());
+    QTest::newRow("singleton dpointer") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingletonDpointer::self());
+    QTest::newRow("non-singleton") << static_cast<KCoreConfigSkeleton *>(noSingleton);
+    QTest::newRow("non-singleton dpointer") << static_cast<KCoreConfigSkeleton *>(noSingletonDpointer);
+    QTest::newRow("singleton itemaccessors") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingletonItemAccessors::self());
+}
+
+/** Test that the signal is emitted when modifying the values using the underlying KConfigSkeletonItem (bypassing the setters) */
+void KConfigCompiler_Test_Signals::testSetProperty()
+{
+    QFETCH(KCoreConfigSkeleton *, obj);
+    const char *signal = SIGNAL(fooChanged(QString));
+    const QString propertyName = QStringLiteral("foo");
+    const QString defaultValue = QStringLiteral("default");
+    const QString newValue = QStringLiteral("changed");
+    obj->setDefaults();
+    obj->save();
+
+    KConfigSkeletonItem *item = obj->findItem(propertyName);
+    QVERIFY2(item, "Item must exist");
+    QVERIFY2(!item->isImmutable(), "Item must not be immutable");
+    QVERIFY2(!obj->isImmutable(propertyName), "Item must not be immutable");
+
+    // listen for all expected signals
+    QSignalSpy spy(obj, signal);
+    QVERIFY2(spy.isValid(), signal);
+
+    QVERIFY(item->isEqual(defaultValue));
+    QVERIFY(!item->isEqual(newValue));
+
+    item->setProperty(newValue); // change value now
+    // should have no change yet, only after save()
+    QCOMPARE(spy.count(), 0);
+    obj->save();
+    // now check for the signal emissions
+    QCOMPARE(spy.count(), 1);
+    QList<QVariant> args = spy.takeFirst();
+    QCOMPARE(args.size(), 1);
+    QVERIFY(item->isEqual(args[0]));
+
+    // now reset to default
+    QVERIFY(!item->isEqual(defaultValue));
+    item->setDefault();
+    QVERIFY(item->isEqual(defaultValue));
+    // should have no change yet, only after save()
+    QCOMPARE(spy.count(), 0);
+    obj->save();
+    // now check for the signal emissions
+    QCOMPARE(spy.count(), 1);
+    args = spy.takeFirst();
+    QCOMPARE(args.size(), 1);
+    QVERIFY(item->isEqual(args[0]));
+}
+
+QTEST_MAIN(KConfigCompiler_Test_Signals)
+
+#include "kconfigcompiler_test_signals.moc"
diff --git a/autotests/kconfig_compiler/klocalizedstring.h b/autotests/kconfig_compiler/klocalizedstring.h
new file mode 100644 (file)
index 0000000..1bd54be
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+    SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+    SPDX-License-Identifier: MIT
+*/
+
+/* This file is needed for test_translation_kde.
+ * It provides fake i18n* in order to avoid dependency on Ki18n framework.
+ */
+
+#ifndef KLOCALIZEDSTRING_H
+#define KLOCALIZEDSTRING_H
+
+inline QString i18n(const char *msgid)
+{
+    return QString::fromUtf8(msgid);
+}
+
+inline QString i18nc(const char *msgctxt, const char *msgid)
+{
+    Q_UNUSED(msgctxt);
+    return QString::fromUtf8(msgid);
+}
+
+inline QString i18nd(const char *domain, const char *msgid)
+{
+    Q_UNUSED(domain);
+    return QString::fromUtf8(msgid);
+}
+
+inline QString i18ndc(const char *domain, const char *msgctxt, const char *msgid)
+{
+    Q_UNUSED(domain);
+    Q_UNUSED(msgctxt);
+    return QString::fromUtf8(msgid);
+}
+
+#endif
diff --git a/autotests/kconfig_compiler/myprefs.h b/autotests/kconfig_compiler/myprefs.h
new file mode 100644 (file)
index 0000000..073352b
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef MYPREFS_H
+#define MYPREFS_H
+
+#include <kconfigskeleton.h>
+
+class MyPrefs : public KConfigSkeleton
+{
+public:
+    MyPrefs(const QString &a)
+        : KConfigSkeleton(a)
+    {
+    }
+};
+
+#endif
diff --git a/autotests/kconfig_compiler/signals_test.kcfg b/autotests/kconfig_compiler/signals_test.kcfg
new file mode 100644 (file)
index 0000000..766c56e
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Alex Richardson -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile arg="true"/>
+  <signal name="fooChanged">
+    <argument type="String">foo</argument>
+  </signal>
+  <group name="Something">
+    <entry key="foo" type="String">
+      <default>default</default>
+      <emit signal="fooChanged" />
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/signals_test_no_singleton.kcfgc b/autotests/kconfig_compiler/signals_test_no_singleton.kcfgc
new file mode 100644 (file)
index 0000000..4d096e0
--- /dev/null
@@ -0,0 +1,9 @@
+File=signals_test.kcfg
+ClassName=SignalsTestNoSingleton
+Singleton=false
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/signals_test_no_singleton_dpointer.kcfgc b/autotests/kconfig_compiler/signals_test_no_singleton_dpointer.kcfgc
new file mode 100644 (file)
index 0000000..11b7c43
--- /dev/null
@@ -0,0 +1,9 @@
+File=signals_test.kcfg
+ClassName=SignalsTestNoSingletonDpointer
+Singleton=false
+Mutators=true
+MemberVariables=dpointer
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/signals_test_singleton.kcfgc b/autotests/kconfig_compiler/signals_test_singleton.kcfgc
new file mode 100644 (file)
index 0000000..59e0445
--- /dev/null
@@ -0,0 +1,9 @@
+File=signals_test.kcfg
+ClassName=SignalsTestSingleton
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/signals_test_singleton_dpointer.kcfgc b/autotests/kconfig_compiler/signals_test_singleton_dpointer.kcfgc
new file mode 100644 (file)
index 0000000..1f13493
--- /dev/null
@@ -0,0 +1,9 @@
+File=signals_test.kcfg
+ClassName=SignalsTestSingletonDpointer
+Singleton=true
+Mutators=true
+MemberVariables=dpointer
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/signals_test_singleton_itemaccessors.kcfgc b/autotests/kconfig_compiler/signals_test_singleton_itemaccessors.kcfgc
new file mode 100644 (file)
index 0000000..c71cca8
--- /dev/null
@@ -0,0 +1,9 @@
+File=signals_test.kcfg
+ClassName=SignalsTestSingletonItemAccessors
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=true
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/test1.cpp.ref b/autotests/kconfig_compiler/test1.cpp.ref
new file mode 100644 (file)
index 0000000..3e5fd70
--- /dev/null
@@ -0,0 +1,73 @@
+// This file is generated by kconfig_compiler_kf6 from test1.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test1.h"
+
+Test1::Test1( const QString & transport, const QString & folder, QObject *parent )
+  : KConfigSkeleton( QStringLiteral( "examplerc" ) )
+  , mParamtransport(transport)
+  , mParamfolder(folder)
+{
+  setParent(parent);
+  setCurrentGroup( QStringLiteral( "General-%1" ).arg( mParamfolder ) );
+
+  KConfigSkeleton::ItemBool  *itemOneOption;
+  itemOneOption = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "OneOption" ), mOneOption, true );
+  addItem( itemOneOption, QStringLiteral( "OneOption" ) );
+  KConfigSkeleton::ItemInt  *itemAnotherOption;
+  itemAnotherOption = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Another Option" ), mAnotherOption, 5 );
+  addItem( itemAnotherOption, QStringLiteral( "AnotherOption" ) );
+  QList<KConfigSkeleton::ItemEnum::Choice> valuesListOption;
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("One");
+    valuesListOption.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Two");
+    valuesListOption.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Three");
+    valuesListOption.append( choice );
+  }
+  KConfigSkeleton::ItemEnum  *itemListOption;
+  itemListOption = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ListOption" ), mListOption, valuesListOption, EnumListOption::One );
+  addItem( itemListOption, QStringLiteral( "ListOption" ) );
+
+  setCurrentGroup( QStringLiteral( "MyOptions" ) );
+
+  KConfigSkeleton::ItemString  *itemMyString;
+  itemMyString = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "MyString" ), mMyString, QStringLiteral( "Default String" ) );
+  addItem( itemMyString, QStringLiteral( "MyString" ) );
+  KConfigSkeleton::ItemPath  *itemMyPath;
+  itemMyPath = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "MyPath" ), mMyPath, QDir::homePath()+QString::fromLatin1(".hidden_file") );
+  addItem( itemMyPath, QStringLiteral( "MyPath" ) );
+  KConfigSkeleton::ItemInt  *itemAnotherOption2;
+  itemAnotherOption2 = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Another Option" ), mAnotherOption2, 10 );
+  addItem( itemAnotherOption2, QStringLiteral( "AnotherOption2" ) );
+  QStringList defaultMyStringList;
+  defaultMyStringList.append( QString::fromUtf8( "up" ) );
+  defaultMyStringList.append( QString::fromUtf8( "down" ) );
+
+  KConfigSkeleton::ItemStringList  *itemMyStringList;
+  itemMyStringList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringList" ), mMyStringList, defaultMyStringList );
+  addItem( itemMyStringList, QStringLiteral( "MyStringList" ) );
+  QStringList defaultMyStringListHidden;
+  defaultMyStringListHidden.append( QString::fromUtf8( "up" ) );
+  defaultMyStringListHidden.append( QString::fromUtf8( "down" ) );
+
+  KConfigSkeleton::ItemStringList  *itemMyStringListHidden;
+  itemMyStringListHidden = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringListHidden" ), mMyStringListHidden, defaultMyStringListHidden );
+  addItem( itemMyStringListHidden, QStringLiteral( "MyStringListHidden" ) );
+  KConfigSkeleton::ItemInt  *itemMyNumber;
+  itemMyNumber = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "List-%1-%2" ).arg( mParamtransport, mParamfolder ), mMyNumber, 1 );
+  addItem( itemMyNumber, QStringLiteral( "MyNumber" ) );
+}
+
+Test1::~Test1()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test1.h.ref b/autotests/kconfig_compiler/test1.h.ref
new file mode 100644 (file)
index 0000000..e5fc17e
--- /dev/null
@@ -0,0 +1,270 @@
+// This file is generated by kconfig_compiler_kf6 from test1.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST1_H
+#define TEST1_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <qdir.h>
+
+class Test1 : public KConfigSkeleton
+{
+  public:
+    class EnumListOption
+    {
+      public:
+      enum type { One, Two, Three, COUNT };
+    };
+
+    Test1( const QString & transport, const QString & folder, QObject *parent = nullptr );
+    ~Test1() override;
+
+    /**
+      Set One option
+    */
+    void setOneOption( bool v )
+    {
+      if (!isOneOptionImmutable())
+        mOneOption = v;
+    }
+
+    /**
+      Get One option
+    */
+    bool oneOption() const
+    {
+      return mOneOption;
+    }
+
+    /**
+      Is One option Immutable
+    */
+    bool isOneOptionImmutable() const
+    {
+      return isImmutable( QStringLiteral( "OneOption" ) );
+    }
+
+    /**
+      Set Another option
+    */
+    void setAnotherOption( int v )
+    {
+      if (!isAnotherOptionImmutable())
+        mAnotherOption = v;
+    }
+
+    /**
+      Get Another option
+    */
+    int anotherOption() const
+    {
+      return mAnotherOption;
+    }
+
+    /**
+      Is Another option Immutable
+    */
+    bool isAnotherOptionImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AnotherOption" ) );
+    }
+
+    /**
+      Set This is some funky option
+    */
+    void setListOption( int v )
+    {
+      if (!isListOptionImmutable())
+        mListOption = v;
+    }
+
+    /**
+      Get This is some funky option
+    */
+    int listOption() const
+    {
+      return mListOption;
+    }
+
+    /**
+      Is This is some funky option Immutable
+    */
+    bool isListOptionImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ListOption" ) );
+    }
+
+    /**
+      Set This is a string
+    */
+    void setMyString( const QString & v )
+    {
+      if (!isMyStringImmutable())
+        mMyString = v;
+    }
+
+    /**
+      Get This is a string
+    */
+    QString myString() const
+    {
+      return mMyString;
+    }
+
+    /**
+      Is This is a string Immutable
+    */
+    bool isMyStringImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyString" ) );
+    }
+
+    /**
+      Set This is a path
+    */
+    void setMyPath( const QString & v )
+    {
+      if (!isMyPathImmutable())
+        mMyPath = v;
+    }
+
+    /**
+      Get This is a path
+    */
+    QString myPath() const
+    {
+      return mMyPath;
+    }
+
+    /**
+      Is This is a path Immutable
+    */
+    bool isMyPathImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyPath" ) );
+    }
+
+    /**
+      Set Another option
+    */
+    void setAnotherOption2( int v )
+    {
+      if (!isAnotherOption2Immutable())
+        mAnotherOption2 = v;
+    }
+
+    /**
+      Get Another option
+    */
+    int anotherOption2() const
+    {
+      return mAnotherOption2;
+    }
+
+    /**
+      Is Another option Immutable
+    */
+    bool isAnotherOption2Immutable() const
+    {
+      return isImmutable( QStringLiteral( "AnotherOption2" ) );
+    }
+
+    /**
+      Set MyStringList
+    */
+    void setMyStringList( const QStringList & v )
+    {
+      if (!isMyStringListImmutable())
+        mMyStringList = v;
+    }
+
+    /**
+      Get MyStringList
+    */
+    QStringList myStringList() const
+    {
+      return mMyStringList;
+    }
+
+    /**
+      Is MyStringList Immutable
+    */
+    bool isMyStringListImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyStringList" ) );
+    }
+
+    /**
+      Set MyStringListHidden
+    */
+    void setMyStringListHidden( const QStringList & v )
+    {
+      if (!isMyStringListHiddenImmutable())
+        mMyStringListHidden = v;
+    }
+
+    /**
+      Get MyStringListHidden
+    */
+    QStringList myStringListHidden() const
+    {
+      return mMyStringListHidden;
+    }
+
+    /**
+      Is MyStringListHidden Immutable
+    */
+    bool isMyStringListHiddenImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyStringListHidden" ) );
+    }
+
+    /**
+      Set List Number
+    */
+    void setMyNumber( int v )
+    {
+      if (!isMyNumberImmutable())
+        mMyNumber = v;
+    }
+
+    /**
+      Get List Number
+    */
+    int myNumber() const
+    {
+      return mMyNumber;
+    }
+
+    /**
+      Is List Number Immutable
+    */
+    bool isMyNumberImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyNumber" ) );
+    }
+
+  protected:
+    QString mParamtransport;
+    QString mParamfolder;
+
+    // General-$(folder)
+    bool mOneOption;
+    int mAnotherOption;
+    int mListOption;
+
+    // MyOptions
+    QString mMyString;
+    QString mMyPath;
+    int mAnotherOption2;
+    QStringList mMyStringList;
+    QStringList mMyStringListHidden;
+    int mMyNumber;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test1.kcfg b/autotests/kconfig_compiler/test1.kcfg
new file mode 100644 (file)
index 0000000..819bdac
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <include>qdir.h</include>
+  <kcfgfile name="examplerc">
+    <parameter name="transport" />
+    <parameter name="folder" />
+  </kcfgfile>
+  <group name="General-$(folder)">
+    <entry name="OneOption" type="Bool">
+      <label>One option</label>
+      <default>true</default>
+    </entry>
+    <entry name="AnotherOption" type="Int" key="Another Option">
+      <label>Another option</label>
+      <default>5</default>
+    </entry>
+    <entry name="ListOption" type="Enum">
+      <label>This is some funky option</label>
+      <whatsthis>And this is a longer description of this option. Just wondering, how will the translations of those be handled?</whatsthis>
+      <choices>
+        <choice name="One"/>
+        <choice name="Two"/>
+        <choice name="Three"/>
+      </choices>
+      <default>One</default>
+    </entry>
+  </group>
+  <group name="MyOptions">
+    <entry name="MyString" type="String">
+      <label>This is a string</label>
+      <default>Default String</default>
+    </entry>
+    <entry name="MyPath" type="Path">
+      <label>This is a path</label>
+      <default code="true">QDir::homePath()+QString::fromLatin1(".hidden_file")</default>
+    </entry>
+    <entry name="AnotherOption2" type="Int" key="Another Option">
+      <label>Another option</label>
+      <default>10</default>
+    </entry>
+    <entry name="MyStringList" type="StringList">
+      <default>up,down</default>
+    </entry>
+    <entry name="MyStringListHidden" hidden="true" type="StringList">
+      <default>up,down</default>
+    </entry>
+    <entry name="MyNumber" type="Int" key="List-$(transport)-$(folder)">
+      <label>List Number</label>
+      <default>1</default>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test1.kcfgc b/autotests/kconfig_compiler/test1.kcfgc
new file mode 100644 (file)
index 0000000..85e7217
--- /dev/null
@@ -0,0 +1,20 @@
+# Code generation options for kconfig_compiler_kf6
+ClassName=Test1
+File=test1.kcfg
+ParentInConstructor=true
+#
+# Singleton=false
+#
+# Inherits=KConfigSkeleton
+#
+# IncludeFiles=libkdepim/kpimprefs.h
+#
+# MemberVariables=public
+#
+### The following line includes the file exampleprefs_base_addon.h
+### It can be used to add extra functions and variables to the
+### class.
+# CustomAdditions=true
+#
+### Provide setFooBar(int) style functions
+Mutators=true
diff --git a/autotests/kconfig_compiler/test10.cpp.ref b/autotests/kconfig_compiler/test10.cpp.ref
new file mode 100644 (file)
index 0000000..1587de6
--- /dev/null
@@ -0,0 +1,50 @@
+// This file is generated by kconfig_compiler_kf6 from test10.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test10.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test10Helper
+{
+  public:
+    Test10Helper() : q(nullptr) {}
+    ~Test10Helper() { delete q; q = nullptr; }
+    Test10Helper(const Test10Helper&) = delete;
+    Test10Helper& operator=(const Test10Helper&) = delete;
+    Test10 *q;
+};
+Q_GLOBAL_STATIC(Test10Helper, s_globalTest10)
+Test10 *Test10::self()
+{
+  if (!s_globalTest10()->q) {
+    new Test10;
+    s_globalTest10()->q->read();
+  }
+
+  return s_globalTest10()->q;
+}
+
+Test10::Test10( )
+  : KConfigSkeleton( QStringLiteral( "test10rc" ) )
+{
+  Q_ASSERT(!s_globalTest10()->q);
+  s_globalTest10()->q = this;
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+  KConfigSkeleton::ItemUrl  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemUrlList  *itemBarFoo;
+  itemBarFoo = new KConfigSkeleton::ItemUrlList( currentGroup(), QStringLiteral( "bar foo" ), mBarFoo );
+  addItem( itemBarFoo, QStringLiteral( "BarFoo" ) );
+}
+
+Test10::~Test10()
+{
+  if (s_globalTest10.exists() && !s_globalTest10.isDestroyed()) {
+    s_globalTest10()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test10.h.ref b/autotests/kconfig_compiler/test10.h.ref
new file mode 100644 (file)
index 0000000..1121497
--- /dev/null
@@ -0,0 +1,66 @@
+// This file is generated by kconfig_compiler_kf6 from test10.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST10_H
+#define TEST10_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test10 : public KConfigSkeleton
+{
+  public:
+
+    static Test10 *self();
+    ~Test10() override;
+
+    /**
+      Get foo bar
+    */
+    static
+    QUrl fooBar()
+    {
+      return self()->mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    static
+    bool isFooBarImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Get bar foo
+    */
+    static
+    QList<QUrl> barFoo()
+    {
+      return self()->mBarFoo;
+    }
+
+    /**
+      Is bar foo Immutable
+    */
+    static
+    bool isBarFooImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "BarFoo" ) );
+    }
+
+  protected:
+    Test10();
+    friend class Test10Helper;
+
+
+    // Foo
+    QUrl mFooBar;
+    QList<QUrl> mBarFoo;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test10.kcfg b/autotests/kconfig_compiler/test10.kcfg
new file mode 100644 (file)
index 0000000..d7be2c3
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test10rc"/>
+
+  <group name="Foo">
+      <entry name="FooBar" key="foo bar" type="Url"/>
+      <entry name="BarFoo" key="bar foo" type="UrlList"/>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test10.kcfgc b/autotests/kconfig_compiler/test10.kcfgc
new file mode 100644 (file)
index 0000000..4b2b318
--- /dev/null
@@ -0,0 +1,4 @@
+# Code generation options for kconfig_compiler_kf6
+File=test10.kcfg
+ClassName=Test10
+Singleton=true
diff --git a/autotests/kconfig_compiler/test10main.cpp b/autotests/kconfig_compiler/test10main.cpp
new file mode 100644 (file)
index 0000000..b7d35c4
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test10.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test10 *t = Test10::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test11.cpp.ref b/autotests/kconfig_compiler/test11.cpp.ref
new file mode 100644 (file)
index 0000000..a5c3256
--- /dev/null
@@ -0,0 +1,279 @@
+// This file is generated by kconfig_compiler_kf6 from test11.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test11.h"
+
+Test11::Test11( QObject *parent )
+  : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+  setParent(parent);
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  mAutoSaveItem->setLabel( QCoreApplication::translate("Test11", "Enable automatic saving of calendar") );
+  mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test11", "WhatsThis text for AutoSave option") );
+  addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+  mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+  mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test11", "Auto Save Interval") );
+  addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+  mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+  mConfirmItem->setLabel( QCoreApplication::translate("Test11", "Confirm deletes") );
+  addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+  mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+  mArchiveFileItem->setLabel( QCoreApplication::translate("Test11", "Archive File") );
+  addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+  QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("standardDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("askDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl1");
+    choice.label = QCoreApplication::translate("Test11", "Argl1 Label");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl2");
+    choice.whatsThis = QCoreApplication::translate("Test11", "Argl2 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl3");
+    choice.label = QCoreApplication::translate("Test11", "Argl3 Label");
+    choice.whatsThis = QCoreApplication::translate("Test11", "Argl3 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, EnumDestination::standardDestination );
+  mDestinationItem->setLabel( QCoreApplication::translate("Test11", "New Events/Todos Should") );
+  addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+  setCurrentGroup( QStringLiteral( "Views" ) );
+
+  mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+  mHourSizeItem->setLabel( QCoreApplication::translate("Test11", "Hour Size") );
+  addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+  mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+  mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test11", "Time range selection in agenda view starts event editor") );
+  addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+  setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+  QStringList defaultSelectedPlugins;
+  defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+  defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+  mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+  mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test11", "SelectedPlugins") );
+  addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+  setCurrentGroup( QStringLiteral( "Colors" ) );
+
+  mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+  mHighlightColorItem->setLabel( QCoreApplication::translate("Test11", "Highlight color") );
+  addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+  mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+  mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test11", "Agenda view background color") );
+  addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+  setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+  mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+  mTimeBarFontItem->setLabel( QCoreApplication::translate("Test11", "Time bar") );
+  addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+
+  setCurrentGroup( QStringLiteral( "Email" ) );
+
+  QList<MyPrefs::ItemEnum::Choice> valuesEmailClient;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("sendmail");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11", "Sendmail");
+    valuesEmailClient.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("kmail");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11", "KMail");
+    valuesEmailClient.append( choice );
+  }
+  mEmailClientItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "EmailClient" ), mEmailClient, valuesEmailClient, kmail );
+  mEmailClientItem->setLabel( /*: @label */ QCoreApplication::translate("Test11", "Email client") );
+  mEmailClientItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11", "<para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para>") );
+  addItem( mEmailClientItem, QStringLiteral( "EmailClient" ) );
+  QList<MyPrefs::ItemEnum::Choice> valuesDefaultReminderUnits;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Minutes");
+    valuesDefaultReminderUnits.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("HoursMinutes");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11", "Hours/Minutes");
+    valuesDefaultReminderUnits.append( choice );
+  }
+  mDefaultReminderUnitsItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "RemindUnits" ), mDefaultReminderUnits, valuesDefaultReminderUnits, TimePeriod::HoursMinutes );
+  mDefaultReminderUnitsItem->setLabel( /*: @label */ QCoreApplication::translate("Test11", "Reminder units") );
+  mDefaultReminderUnitsItem->setToolTip( /*: @info:tooltip */ QCoreApplication::translate("Test11", "Default reminder time units in the alarm edit dialog.") );
+  mDefaultReminderUnitsItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11", "Default reminder time units in the alarm edit dialog.") );
+  addItem( mDefaultReminderUnitsItem, QStringLiteral( "DefaultReminderUnits" ) );
+
+  setCurrentGroup( QStringLiteral( "QueueRates" ) );
+
+  QList< QList<int> > defaultRate;
+  QList< int > defaultRateInit;
+
+  defaultRateInit.append( 15 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 40 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+        
+  QList<int> defaultqueueRate;
+
+  mQueueRateItem[0] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 0" ), mQueueRate[0], defaultRate[0] );
+  mQueueRateItem[0]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[0], QStringLiteral( "queueRate0" ) );
+  mQueueRateItem[1] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 1" ), mQueueRate[1], defaultqueueRate );
+  mQueueRateItem[1]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[1], QStringLiteral( "queueRate1" ) );
+  mQueueRateItem[2] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 2" ), mQueueRate[2], defaultRate[2] );
+  mQueueRateItem[2]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[2], QStringLiteral( "queueRate2" ) );
+  mShowQueueTunerItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "ShowQueueTuner" ), mShowQueueTuner, false );
+  mShowQueueTunerItem->setLabel( QCoreApplication::translate("Test11", "ShowQueueTuner") );
+  addItem( mShowQueueTunerItem, QStringLiteral( "ShowQueueTuner" ) );
+}
+
+bool Test11::defaultAutoSaveValue_helper() const
+{
+
+  return false;
+}
+
+int Test11::defaultAutoSaveIntervalValue_helper() const
+{
+
+  return 10;
+}
+
+bool Test11::defaultConfirmValue_helper() const
+{
+
+  return true;
+}
+
+int Test11::defaultDestinationValue_helper() const
+{
+
+  return EnumDestination::standardDestination;
+}
+
+int Test11::defaultHourSizeValue_helper() const
+{
+
+  return 10;
+}
+
+bool Test11::defaultSelectionStartsEditorValue_helper() const
+{
+
+  return false;
+}
+
+QStringList Test11::defaultSelectedPluginsValue_helper() const
+{
+  QStringList defaultSelectedPlugins;
+  defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+  defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+  return defaultSelectedPlugins;
+}
+
+QColor Test11::defaultHighlightColorValue_helper() const
+{
+
+  return QColor( 100, 100, 255 );
+}
+
+QColor Test11::defaultAgendaBgColorValue_helper() const
+{
+
+  return QColor( 255, 255, 255 );
+}
+
+int Test11::defaultEmailClientValue_helper() const
+{
+
+  return kmail;
+}
+
+int Test11::defaultDefaultReminderUnitsValue_helper() const
+{
+
+  return TimePeriod::HoursMinutes;
+}
+
+QList<int> Test11::defaultQueueRateValue_helper( int i ) const
+{
+  QList< QList<int> > defaultRate;
+  QList< int > defaultRateInit;
+
+  defaultRateInit.append( 15 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 40 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+        
+  QList<int> defaultqueueRate;
+
+  switch (i) {
+  case 0: return defaultRate[0];
+  case 2: return defaultRate[2];
+  default:
+    return defaultqueueRate;
+  }
+
+}
+
+bool Test11::defaultShowQueueTunerValue_helper() const
+{
+
+  return false;
+}
+
+Test11::~Test11()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test11.h.ref b/autotests/kconfig_compiler/test11.h.ref
new file mode 100644 (file)
index 0000000..debd957
--- /dev/null
@@ -0,0 +1,693 @@
+// This file is generated by kconfig_compiler_kf6 from test11.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST11_H
+#define TEST11_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include "test11_types.h"
+
+class Test11 : public MyPrefs
+{
+  public:
+    class EnumDestination
+    {
+      public:
+      enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+    };
+    enum MailClient { sendmail, kmail };
+
+    Test11( QObject *parent = nullptr );
+    ~Test11() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    void setAutoSave( bool v )
+    {
+      if (!isAutoSaveImmutable())
+        mAutoSave = v;
+    }
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+    /**
+      Get Enable automatic saving of calendar default value
+    */
+    bool defaultAutoSaveValue() const
+    {
+        return defaultAutoSaveValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem()
+    {
+      return mAutoSaveItem;
+    }
+
+    /**
+      Set Auto Save Interval
+    */
+    void setAutoSaveInterval( int v )
+    {
+      if (!isAutoSaveIntervalImmutable())
+        mAutoSaveInterval = v;
+    }
+
+    /**
+      Get Auto Save Interval
+    */
+    int autoSaveInterval() const
+    {
+      return mAutoSaveInterval;
+    }
+
+    /**
+      Is Auto Save Interval Immutable
+    */
+    bool isAutoSaveIntervalImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+    }
+
+    /**
+      Get Auto Save Interval default value
+    */
+    int defaultAutoSaveIntervalValue() const
+    {
+        return defaultAutoSaveIntervalValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to AutoSaveInterval()
+    */
+    ItemInt *autoSaveIntervalItem()
+    {
+      return mAutoSaveIntervalItem;
+    }
+
+    /**
+      Set Confirm deletes
+    */
+    void setConfirm( bool v )
+    {
+      if (!isConfirmImmutable())
+        mConfirm = v;
+    }
+
+    /**
+      Get Confirm deletes
+    */
+    bool confirm() const
+    {
+      return mConfirm;
+    }
+
+    /**
+      Is Confirm deletes Immutable
+    */
+    bool isConfirmImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Confirm" ) );
+    }
+
+    /**
+      Get Confirm deletes default value
+    */
+    bool defaultConfirmValue() const
+    {
+        return defaultConfirmValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to Confirm()
+    */
+    ItemBool *confirmItem()
+    {
+      return mConfirmItem;
+    }
+
+    /**
+      Set Archive File
+    */
+    void setArchiveFile( const QString & v )
+    {
+      if (!isArchiveFileImmutable())
+        mArchiveFile = v;
+    }
+
+    /**
+      Get Archive File
+    */
+    QString archiveFile() const
+    {
+      return mArchiveFile;
+    }
+
+    /**
+      Is Archive File Immutable
+    */
+    bool isArchiveFileImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ArchiveFile" ) );
+    }
+
+    /**
+      Get Item object corresponding to ArchiveFile()
+    */
+    ItemString *archiveFileItem()
+    {
+      return mArchiveFileItem;
+    }
+
+    /**
+      Set New Events/Todos Should
+    */
+    void setDestination( EnumDestination::type v )
+    {
+      if (!isDestinationImmutable())
+        mDestination = v;
+    }
+
+    /**
+      Get New Events/Todos Should
+    */
+    EnumDestination::type destination() const
+    {
+      return static_cast<EnumDestination::type>(mDestination);
+    }
+
+    /**
+      Is New Events/Todos Should Immutable
+    */
+    bool isDestinationImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Destination" ) );
+    }
+
+    /**
+      Get New Events/Todos Should default value
+    */
+    EnumDestination::type defaultDestinationValue() const
+    {
+        return static_cast<EnumDestination::type>(defaultDestinationValue_helper());
+    }
+
+    /**
+      Get Item object corresponding to Destination()
+    */
+    ItemEnum *destinationItem()
+    {
+      return mDestinationItem;
+    }
+
+    /**
+      Set Hour Size
+    */
+    void setHourSize( int v )
+    {
+      if (!isHourSizeImmutable())
+        mHourSize = v;
+    }
+
+    /**
+      Get Hour Size
+    */
+    int hourSize() const
+    {
+      return mHourSize;
+    }
+
+    /**
+      Is Hour Size Immutable
+    */
+    bool isHourSizeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HourSize" ) );
+    }
+
+    /**
+      Get Hour Size default value
+    */
+    int defaultHourSizeValue() const
+    {
+        return defaultHourSizeValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to HourSize()
+    */
+    ItemInt *hourSizeItem()
+    {
+      return mHourSizeItem;
+    }
+
+    /**
+      Set Time range selection in agenda view starts event editor
+    */
+    void setSelectionStartsEditor( bool v )
+    {
+      if (!isSelectionStartsEditorImmutable())
+        mSelectionStartsEditor = v;
+    }
+
+    /**
+      Get Time range selection in agenda view starts event editor
+    */
+    bool selectionStartsEditor() const
+    {
+      return mSelectionStartsEditor;
+    }
+
+    /**
+      Is Time range selection in agenda view starts event editor Immutable
+    */
+    bool isSelectionStartsEditorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+    }
+
+    /**
+      Get Time range selection in agenda view starts event editor default value
+    */
+    bool defaultSelectionStartsEditorValue() const
+    {
+        return defaultSelectionStartsEditorValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to SelectionStartsEditor()
+    */
+    ItemBool *selectionStartsEditorItem()
+    {
+      return mSelectionStartsEditorItem;
+    }
+
+    /**
+      Set SelectedPlugins
+    */
+    void setSelectedPlugins( const QStringList & v )
+    {
+      if (!isSelectedPluginsImmutable())
+        mSelectedPlugins = v;
+    }
+
+    /**
+      Get SelectedPlugins
+    */
+    QStringList selectedPlugins() const
+    {
+      return mSelectedPlugins;
+    }
+
+    /**
+      Is SelectedPlugins Immutable
+    */
+    bool isSelectedPluginsImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+    }
+
+    /**
+      Get SelectedPlugins default value
+    */
+    QStringList defaultSelectedPluginsValue() const
+    {
+        return defaultSelectedPluginsValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to SelectedPlugins()
+    */
+    ItemStringList *selectedPluginsItem()
+    {
+      return mSelectedPluginsItem;
+    }
+
+    /**
+      Set Highlight color
+    */
+    void setHighlightColor( const QColor & v )
+    {
+      if (!isHighlightColorImmutable())
+        mHighlightColor = v;
+    }
+
+    /**
+      Get Highlight color
+    */
+    QColor highlightColor() const
+    {
+      return mHighlightColor;
+    }
+
+    /**
+      Is Highlight color Immutable
+    */
+    bool isHighlightColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HighlightColor" ) );
+    }
+
+    /**
+      Get Highlight color default value
+    */
+    QColor defaultHighlightColorValue() const
+    {
+        return defaultHighlightColorValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to HighlightColor()
+    */
+    ItemColor *highlightColorItem()
+    {
+      return mHighlightColorItem;
+    }
+
+    /**
+      Set Agenda view background color
+    */
+    void setAgendaBgColor( const QColor & v )
+    {
+      if (!isAgendaBgColorImmutable())
+        mAgendaBgColor = v;
+    }
+
+    /**
+      Get Agenda view background color
+    */
+    QColor agendaBgColor() const
+    {
+      return mAgendaBgColor;
+    }
+
+    /**
+      Is Agenda view background color Immutable
+    */
+    bool isAgendaBgColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+    }
+
+    /**
+      Get Agenda view background color default value
+    */
+    QColor defaultAgendaBgColorValue() const
+    {
+        return defaultAgendaBgColorValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to AgendaBgColor()
+    */
+    ItemColor *agendaBgColorItem()
+    {
+      return mAgendaBgColorItem;
+    }
+
+    /**
+      Set Time bar
+    */
+    void setTimeBarFont( const QFont & v )
+    {
+      if (!isTimeBarFontImmutable())
+        mTimeBarFont = v;
+    }
+
+    /**
+      Get Time bar
+    */
+    QFont timeBarFont() const
+    {
+      return mTimeBarFont;
+    }
+
+    /**
+      Is Time bar Immutable
+    */
+    bool isTimeBarFontImmutable() const
+    {
+      return isImmutable( QStringLiteral( "TimeBarFont" ) );
+    }
+
+    /**
+      Get Item object corresponding to TimeBarFont()
+    */
+    ItemFont *timeBarFontItem()
+    {
+      return mTimeBarFontItem;
+    }
+
+    /**
+      Set Email client
+    */
+    void setEmailClient( MailClient v )
+    {
+      if (!isEmailClientImmutable())
+        mEmailClient = v;
+    }
+
+    /**
+      Get Email client
+    */
+    MailClient emailClient() const
+    {
+      return static_cast<MailClient>(mEmailClient);
+    }
+
+    /**
+      Is Email client Immutable
+    */
+    bool isEmailClientImmutable() const
+    {
+      return isImmutable( QStringLiteral( "EmailClient" ) );
+    }
+
+    /**
+      Get Email client default value
+    */
+    MailClient defaultEmailClientValue() const
+    {
+        return static_cast<MailClient>(defaultEmailClientValue_helper());
+    }
+
+    /**
+      Get Item object corresponding to EmailClient()
+    */
+    ItemEnum *emailClientItem()
+    {
+      return mEmailClientItem;
+    }
+
+    /**
+      Set Reminder units
+    */
+    void setDefaultReminderUnits( TimePeriod::Units v )
+    {
+      if (!isDefaultReminderUnitsImmutable())
+        mDefaultReminderUnits = v;
+    }
+
+    /**
+      Get Reminder units
+    */
+    TimePeriod::Units defaultReminderUnits() const
+    {
+      return static_cast<TimePeriod::Units>(mDefaultReminderUnits);
+    }
+
+    /**
+      Is Reminder units Immutable
+    */
+    bool isDefaultReminderUnitsImmutable() const
+    {
+      return isImmutable( QStringLiteral( "DefaultReminderUnits" ) );
+    }
+
+    /**
+      Get Reminder units default value
+    */
+    TimePeriod::Units defaultDefaultReminderUnitsValue() const
+    {
+        return static_cast<TimePeriod::Units>(defaultDefaultReminderUnitsValue_helper());
+    }
+
+    /**
+      Get Item object corresponding to DefaultReminderUnits()
+    */
+    ItemEnum *defaultReminderUnitsItem()
+    {
+      return mDefaultReminderUnitsItem;
+    }
+
+    /**
+      Set EmptyingRate $(QueueIndex)
+    */
+    void setQueueRate( int i, const QList<int> & v )
+    {
+      if (!isQueueRateImmutable( i ))
+        mQueueRate[i] = v;
+    }
+
+    /**
+      Get EmptyingRate $(QueueIndex)
+    */
+    QList<int> queueRate( int i ) const
+    {
+      return mQueueRate[i];
+    }
+
+    /**
+      Is EmptyingRate $(QueueIndex) Immutable
+    */
+    bool isQueueRateImmutable( int i ) const
+    {
+      return isImmutable( QStringLiteral( "queueRate%1" ).arg( i ) );
+    }
+
+    /**
+      Get EmptyingRate $(QueueIndex) default value
+    */
+    QList<int> defaultQueueRateValue( int i ) const
+    {
+        return defaultQueueRateValue_helper( i );
+    }
+
+    /**
+      Get Item object corresponding to queueRate()
+    */
+    ItemIntList *queueRateItem( int i )
+    {
+      return mQueueRateItem[i];
+    }
+
+    /**
+      Set ShowQueueTuner
+    */
+    void setShowQueueTuner( bool v )
+    {
+      if (!isShowQueueTunerImmutable())
+        mShowQueueTuner = v;
+    }
+
+    /**
+      Get ShowQueueTuner
+    */
+    bool showQueueTuner() const
+    {
+      return mShowQueueTuner;
+    }
+
+    /**
+      Is ShowQueueTuner Immutable
+    */
+    bool isShowQueueTunerImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ShowQueueTuner" ) );
+    }
+
+    /**
+      Get ShowQueueTuner default value
+    */
+    bool defaultShowQueueTunerValue() const
+    {
+        return defaultShowQueueTunerValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to ShowQueueTuner()
+    */
+    ItemBool *showQueueTunerItem()
+    {
+      return mShowQueueTunerItem;
+    }
+
+  protected:
+  public:
+
+    // General
+    bool mAutoSave;
+    bool defaultAutoSaveValue_helper() const;
+    int mAutoSaveInterval;
+    int defaultAutoSaveIntervalValue_helper() const;
+    bool mConfirm;
+    bool defaultConfirmValue_helper() const;
+    QString mArchiveFile;
+    QString defaultArchiveFileValue_helper() const;
+    int mDestination;
+    int defaultDestinationValue_helper() const;
+
+    // Views
+    int mHourSize;
+    int defaultHourSizeValue_helper() const;
+    bool mSelectionStartsEditor;
+    bool defaultSelectionStartsEditorValue_helper() const;
+
+    // KOrganizer Plugins
+    QStringList mSelectedPlugins;
+    QStringList defaultSelectedPluginsValue_helper() const;
+
+    // Colors
+    QColor mHighlightColor;
+    QColor defaultHighlightColorValue_helper() const;
+    QColor mAgendaBgColor;
+    QColor defaultAgendaBgColorValue_helper() const;
+
+    // Fonts
+    QFont mTimeBarFont;
+    QFont defaultTimeBarFontValue_helper() const;
+
+    // Email
+    int mEmailClient;
+    int defaultEmailClientValue_helper() const;
+    int mDefaultReminderUnits;
+    int defaultDefaultReminderUnitsValue_helper() const;
+
+    // QueueRates
+    QList<int> mQueueRate[3];
+    QList<int> defaultQueueRateValue_helper( int i ) const;
+    bool mShowQueueTuner;
+    bool defaultShowQueueTunerValue_helper() const;
+
+  private:
+    ItemBool *mAutoSaveItem;
+    ItemInt *mAutoSaveIntervalItem;
+    ItemBool *mConfirmItem;
+    ItemString *mArchiveFileItem;
+    ItemEnum *mDestinationItem;
+    ItemInt *mHourSizeItem;
+    ItemBool *mSelectionStartsEditorItem;
+    ItemStringList *mSelectedPluginsItem;
+    ItemColor *mHighlightColorItem;
+    ItemColor *mAgendaBgColorItem;
+    ItemFont *mTimeBarFontItem;
+    ItemEnum *mEmailClientItem;
+    ItemEnum *mDefaultReminderUnitsItem;
+    ItemIntList *mQueueRateItem[3];
+    ItemBool *mShowQueueTunerItem;
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test11.kcfg b/autotests/kconfig_compiler/test11.kcfg
new file mode 100644 (file)
index 0000000..5b9f3f9
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+  <include>"test11_types.h"</include>
+
+  <kcfgfile name="korganizerrc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+    <entry type="Int" key="Auto Save Interval">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" key="Confirm Deletes" name="Confirm">
+      <label>Confirm deletes</label>
+      <default>true</default>
+    </entry>
+    <entry type="String" key="Archive File">
+    </entry>
+    <entry type="Enum" key="Destination" name="Destination">
+      <label>New Events/Todos Should</label>
+      <choices>
+        <choice name="standardDestination">
+        </choice>
+        <choice name="askDestination">
+        </choice>
+        <choice name="argl1">
+          <label>Argl1 Label</label>
+        </choice>
+        <choice name="argl2">
+          <whatsthis>Argl2 Whatsthis</whatsthis>
+        </choice>
+        <choice name="argl3">
+          <label>Argl3 Label</label>
+          <whatsthis>Argl3 Whatsthis</whatsthis>
+        </choice>
+      </choices>
+      <default>standardDestination</default>
+    </entry>
+  </group>
+
+  <group name="Views">
+    <entry type="Int" key="Hour Size">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" name="SelectionStartsEditor">
+      <label>Time range selection in agenda view starts event editor</label>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="KOrganizer Plugins">
+    <entry type="StringList" name="SelectedPlugins">
+      <default>holidays,webexport</default>
+    </entry>
+  </group>
+
+  <group name="Colors">
+    <entry type="Color" key="Highlight Color">
+      <label>Highlight color</label>
+      <default>100, 100, 255</default>
+    </entry>
+    <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+      <label>Agenda view background color</label>
+      <default>255, 255, 255</default>
+    </entry>
+  </group>
+
+  <group name="Fonts">
+    <entry type="Font" key="TimeBar Font">
+      <label>Time bar</label>
+    </entry>
+  </group>
+
+  <group name="Email">
+    <entry name="EmailClient" key="EmailClient" type="Enum">
+      <label context="@label">Email client</label>
+      <whatsthis context="@info:whatsthis">&lt;para>How to send email when an email alarm is triggered.&lt;list>&lt;item>KMail: The email is sent automatically via &lt;application>KMail&lt;/application>. &lt;application>KMail&lt;/application> is started first if necessary.&lt;/item>&lt;item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use &lt;application>sendmail&lt;/application> or a sendmail compatible mail transport agent.&lt;/item>&lt;/list>&lt;/para></whatsthis>
+      <choices name="MailClient">
+        <choice name="sendmail"><label context="@option">Sendmail</label></choice>
+        <choice name="kmail"><label context="@option">KMail</label></choice>
+      </choices>
+      <default>kmail</default>
+    </entry>
+
+    <entry name="DefaultReminderUnits" key="RemindUnits" type="Enum">
+      <label context="@label">Reminder units</label>
+      <whatsthis context="@info:whatsthis">Default reminder time units in the alarm edit dialog.</whatsthis>
+      <tooltip context="@info:tooltip">Default reminder time units in the alarm edit dialog.</tooltip>
+       <choices name="TimePeriod::Units">
+        <choice name="Minutes"></choice>
+        <choice name="HoursMinutes"><label context="@option">Hours/Minutes</label></choice>
+      </choices>
+      <default>HoursMinutes</default>
+   </entry>
+  </group>
+
+  <group name="QueueRates">
+    <entry name="queueRate$(QueueIndex)" type="IntList" key="EmptyingRate $(QueueIndex)">
+        <!-- kconfig_compiler_kf6 really should do this for me... -->
+        <code>  QList&lt; QList&lt;int&gt; &gt; defaultRate;
+  QList&lt; int &gt; defaultRateInit;
+
+  defaultRateInit.append( 15 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 40 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+        </code>
+        <parameter name="QueueIndex" type="Int" max="2"/>
+        <default param="0" code="true">defaultRate[0]</default>
+        <default param="2" code="true">defaultRate[2]</default>
+    </entry>
+    <entry key="ShowQueueTuner" type="Bool">
+        <default>false</default>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test11.kcfgc b/autotests/kconfig_compiler/test11.kcfgc
new file mode 100644 (file)
index 0000000..f9c2adf
--- /dev/null
@@ -0,0 +1,14 @@
+# Code generation options for kconfig_compiler_kf6
+File=test11.kcfg
+ClassName=Test11
+ParentInConstructor=true
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=false
+ItemAccessors=true
+SetUserTexts=true
+UseEnumTypes=true
+DefaultValueGetters=true
diff --git a/autotests/kconfig_compiler/test11_types.h b/autotests/kconfig_compiler/test11_types.h
new file mode 100644 (file)
index 0000000..553ae54
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#ifndef TEST11_TYPES_H
+#define TEST11_TYPES_H
+
+class TimePeriod
+{
+public:
+    enum Units {
+        Minutes,
+        HoursMinutes,
+        Days,
+        Weeks,
+    };
+};
+
+#endif
diff --git a/autotests/kconfig_compiler/test11a.cpp.ref b/autotests/kconfig_compiler/test11a.cpp.ref
new file mode 100644 (file)
index 0000000..d663179
--- /dev/null
@@ -0,0 +1,187 @@
+// This file is generated by kconfig_compiler_kf6 from test11a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test11a.h"
+
+Test11a::Test11a( )
+  : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  mAutoSaveItem->setLabel( QCoreApplication::translate("Test11a", "Enable automatic saving of calendar") );
+  mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test11a", "WhatsThis text for AutoSave option") );
+  addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+  mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+  mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test11a", "Auto Save Interval") );
+  addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+  mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+  mConfirmItem->setLabel( QCoreApplication::translate("Test11a", "Confirm deletes") );
+  addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+  mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+  mArchiveFileItem->setLabel( QCoreApplication::translate("Test11a", "Archive File") );
+  addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+  QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("standardDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("askDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl1");
+    choice.label = QCoreApplication::translate("Test11a", "Argl1 Label");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl2");
+    choice.whatsThis = QCoreApplication::translate("Test11a", "Argl2 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl3");
+    choice.label = QCoreApplication::translate("Test11a", "Argl3 Label");
+    choice.whatsThis = QCoreApplication::translate("Test11a", "Argl3 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, EnumDestination::standardDestination );
+  mDestinationItem->setLabel( QCoreApplication::translate("Test11a", "New Events/Todos Should") );
+  addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+  setCurrentGroup( QStringLiteral( "Views" ) );
+
+  mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+  mHourSizeItem->setLabel( QCoreApplication::translate("Test11a", "Hour Size") );
+  addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+  mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+  mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test11a", "Time range selection in agenda view starts event editor") );
+  addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+  setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+  QStringList defaultSelectedPlugins;
+  defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+  defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+  mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+  mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test11a", "SelectedPlugins") );
+  addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+  setCurrentGroup( QStringLiteral( "Colors" ) );
+
+  mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+  mHighlightColorItem->setLabel( QCoreApplication::translate("Test11a", "Highlight color") );
+  addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+  mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+  mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test11a", "Agenda view background color") );
+  addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+  setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+  mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+  mTimeBarFontItem->setLabel( QCoreApplication::translate("Test11a", "Time bar") );
+  addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+
+  setCurrentGroup( QStringLiteral( "Email" ) );
+
+  QList<MyPrefs::ItemEnum::Choice> valuesEmailClient;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("sendmail");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11a", "Sendmail");
+    valuesEmailClient.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("kmail");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11a", "KMail");
+    valuesEmailClient.append( choice );
+  }
+  mEmailClientItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "EmailClient" ), mEmailClient, valuesEmailClient, kmail );
+  mEmailClientItem->setLabel( /*: @label */ QCoreApplication::translate("Test11a", "Email client") );
+  mEmailClientItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11a", "<para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para>") );
+  addItem( mEmailClientItem, QStringLiteral( "EmailClient" ) );
+  QList<MyPrefs::ItemEnum::Choice> valuesDefaultReminderUnits;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Minutes");
+    valuesDefaultReminderUnits.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("HoursMinutes");
+    choice.label = /*: @option */ QCoreApplication::translate("Test11a", "Hours/Minutes");
+    valuesDefaultReminderUnits.append( choice );
+  }
+  mDefaultReminderUnitsItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "RemindUnits" ), mDefaultReminderUnits, valuesDefaultReminderUnits, TimePeriod::HoursMinutes );
+  mDefaultReminderUnitsItem->setLabel( /*: @label */ QCoreApplication::translate("Test11a", "Reminder units") );
+  mDefaultReminderUnitsItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11a", "Default reminder time units in the alarm edit dialog.") );
+  addItem( mDefaultReminderUnitsItem, QStringLiteral( "DefaultReminderUnits" ) );
+
+  setCurrentGroup( QStringLiteral( "QueueRates" ) );
+
+  QList< QList<int> > defaultRate;
+  QList< int > defaultRateInit;
+
+  defaultRateInit.append( 15 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 40 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+        
+  QList<int> defaultqueueRate;
+
+  mQueueRateItem[0] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 0" ), mQueueRate[0], defaultRate[0] );
+  mQueueRateItem[0]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[0], QStringLiteral( "queueRate0" ) );
+  mQueueRateItem[1] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 1" ), mQueueRate[1], defaultqueueRate );
+  mQueueRateItem[1]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[1], QStringLiteral( "queueRate1" ) );
+  mQueueRateItem[2] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 2" ), mQueueRate[2], defaultRate[2] );
+  mQueueRateItem[2]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+  addItem( mQueueRateItem[2], QStringLiteral( "queueRate2" ) );
+  mShowQueueTunerItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "ShowQueueTuner" ), mShowQueueTuner, false );
+  mShowQueueTunerItem->setLabel( QCoreApplication::translate("Test11a", "ShowQueueTuner") );
+  addItem( mShowQueueTunerItem, QStringLiteral( "ShowQueueTuner" ) );
+}
+
+int Test11a::defaultDestinationValue_helper() const
+{
+
+  return EnumDestination::standardDestination;
+}
+
+bool Test11a::defaultSelectionStartsEditorValue_helper() const
+{
+
+  return false;
+}
+
+int Test11a::defaultDefaultReminderUnitsValue_helper() const
+{
+
+  return TimePeriod::HoursMinutes;
+}
+
+Test11a::~Test11a()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test11a.h.ref b/autotests/kconfig_compiler/test11a.h.ref
new file mode 100644 (file)
index 0000000..76a7225
--- /dev/null
@@ -0,0 +1,601 @@
+// This file is generated by kconfig_compiler_kf6 from test11a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST11A_H
+#define TEST11A_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include "test11_types.h"
+
+class Test11a : public MyPrefs
+{
+  public:
+    class EnumDestination
+    {
+      public:
+      enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+    };
+    enum MailClient { sendmail, kmail };
+
+    Test11a( );
+    ~Test11a() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    void setAutoSave( bool v )
+    {
+      if (!isAutoSaveImmutable())
+        mAutoSave = v;
+    }
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem()
+    {
+      return mAutoSaveItem;
+    }
+
+    /**
+      Set Auto Save Interval
+    */
+    void setAutoSaveInterval( int v )
+    {
+      if (!isAutoSaveIntervalImmutable())
+        mAutoSaveInterval = v;
+    }
+
+    /**
+      Get Auto Save Interval
+    */
+    int autoSaveInterval() const
+    {
+      return mAutoSaveInterval;
+    }
+
+    /**
+      Is Auto Save Interval Immutable
+    */
+    bool isAutoSaveIntervalImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSaveInterval()
+    */
+    ItemInt *autoSaveIntervalItem()
+    {
+      return mAutoSaveIntervalItem;
+    }
+
+    /**
+      Set Confirm deletes
+    */
+    void setConfirm( bool v )
+    {
+      if (!isConfirmImmutable())
+        mConfirm = v;
+    }
+
+    /**
+      Get Confirm deletes
+    */
+    bool confirm() const
+    {
+      return mConfirm;
+    }
+
+    /**
+      Is Confirm deletes Immutable
+    */
+    bool isConfirmImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Confirm" ) );
+    }
+
+    /**
+      Get Item object corresponding to Confirm()
+    */
+    ItemBool *confirmItem()
+    {
+      return mConfirmItem;
+    }
+
+    /**
+      Set Archive File
+    */
+    void setArchiveFile( const QString & v )
+    {
+      if (!isArchiveFileImmutable())
+        mArchiveFile = v;
+    }
+
+    /**
+      Get Archive File
+    */
+    QString archiveFile() const
+    {
+      return mArchiveFile;
+    }
+
+    /**
+      Is Archive File Immutable
+    */
+    bool isArchiveFileImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ArchiveFile" ) );
+    }
+
+    /**
+      Get Item object corresponding to ArchiveFile()
+    */
+    ItemString *archiveFileItem()
+    {
+      return mArchiveFileItem;
+    }
+
+    /**
+      Set New Events/Todos Should
+    */
+    void setDestination( EnumDestination::type v )
+    {
+      if (!isDestinationImmutable())
+        mDestination = v;
+    }
+
+    /**
+      Get New Events/Todos Should
+    */
+    EnumDestination::type destination() const
+    {
+      return static_cast<EnumDestination::type>(mDestination);
+    }
+
+    /**
+      Is New Events/Todos Should Immutable
+    */
+    bool isDestinationImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Destination" ) );
+    }
+
+    /**
+      Get New Events/Todos Should default value
+    */
+    EnumDestination::type defaultDestinationValue() const
+    {
+        return static_cast<EnumDestination::type>(defaultDestinationValue_helper());
+    }
+
+    /**
+      Get Item object corresponding to Destination()
+    */
+    ItemEnum *destinationItem()
+    {
+      return mDestinationItem;
+    }
+
+    /**
+      Set Hour Size
+    */
+    void setHourSize( int v )
+    {
+      if (!isHourSizeImmutable())
+        mHourSize = v;
+    }
+
+    /**
+      Get Hour Size
+    */
+    int hourSize() const
+    {
+      return mHourSize;
+    }
+
+    /**
+      Is Hour Size Immutable
+    */
+    bool isHourSizeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HourSize" ) );
+    }
+
+    /**
+      Get Item object corresponding to HourSize()
+    */
+    ItemInt *hourSizeItem()
+    {
+      return mHourSizeItem;
+    }
+
+    /**
+      Set Time range selection in agenda view starts event editor
+    */
+    void setSelectionStartsEditor( bool v )
+    {
+      if (!isSelectionStartsEditorImmutable())
+        mSelectionStartsEditor = v;
+    }
+
+    /**
+      Get Time range selection in agenda view starts event editor
+    */
+    bool selectionStartsEditor() const
+    {
+      return mSelectionStartsEditor;
+    }
+
+    /**
+      Is Time range selection in agenda view starts event editor Immutable
+    */
+    bool isSelectionStartsEditorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+    }
+
+    /**
+      Get Time range selection in agenda view starts event editor default value
+    */
+    bool defaultSelectionStartsEditorValue() const
+    {
+        return defaultSelectionStartsEditorValue_helper();
+    }
+
+    /**
+      Get Item object corresponding to SelectionStartsEditor()
+    */
+    ItemBool *selectionStartsEditorItem()
+    {
+      return mSelectionStartsEditorItem;
+    }
+
+    /**
+      Set SelectedPlugins
+    */
+    void setSelectedPlugins( const QStringList & v )
+    {
+      if (!isSelectedPluginsImmutable())
+        mSelectedPlugins = v;
+    }
+
+    /**
+      Get SelectedPlugins
+    */
+    QStringList selectedPlugins() const
+    {
+      return mSelectedPlugins;
+    }
+
+    /**
+      Is SelectedPlugins Immutable
+    */
+    bool isSelectedPluginsImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+    }
+
+    /**
+      Get Item object corresponding to SelectedPlugins()
+    */
+    ItemStringList *selectedPluginsItem()
+    {
+      return mSelectedPluginsItem;
+    }
+
+    /**
+      Set Highlight color
+    */
+    void setHighlightColor( const QColor & v )
+    {
+      if (!isHighlightColorImmutable())
+        mHighlightColor = v;
+    }
+
+    /**
+      Get Highlight color
+    */
+    QColor highlightColor() const
+    {
+      return mHighlightColor;
+    }
+
+    /**
+      Is Highlight color Immutable
+    */
+    bool isHighlightColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HighlightColor" ) );
+    }
+
+    /**
+      Get Item object corresponding to HighlightColor()
+    */
+    ItemColor *highlightColorItem()
+    {
+      return mHighlightColorItem;
+    }
+
+    /**
+      Set Agenda view background color
+    */
+    void setAgendaBgColor( const QColor & v )
+    {
+      if (!isAgendaBgColorImmutable())
+        mAgendaBgColor = v;
+    }
+
+    /**
+      Get Agenda view background color
+    */
+    QColor agendaBgColor() const
+    {
+      return mAgendaBgColor;
+    }
+
+    /**
+      Is Agenda view background color Immutable
+    */
+    bool isAgendaBgColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+    }
+
+    /**
+      Get Item object corresponding to AgendaBgColor()
+    */
+    ItemColor *agendaBgColorItem()
+    {
+      return mAgendaBgColorItem;
+    }
+
+    /**
+      Set Time bar
+    */
+    void setTimeBarFont( const QFont & v )
+    {
+      if (!isTimeBarFontImmutable())
+        mTimeBarFont = v;
+    }
+
+    /**
+      Get Time bar
+    */
+    QFont timeBarFont() const
+    {
+      return mTimeBarFont;
+    }
+
+    /**
+      Is Time bar Immutable
+    */
+    bool isTimeBarFontImmutable() const
+    {
+      return isImmutable( QStringLiteral( "TimeBarFont" ) );
+    }
+
+    /**
+      Get Item object corresponding to TimeBarFont()
+    */
+    ItemFont *timeBarFontItem()
+    {
+      return mTimeBarFontItem;
+    }
+
+    /**
+      Set Email client
+    */
+    void setEmailClient( MailClient v )
+    {
+      if (!isEmailClientImmutable())
+        mEmailClient = v;
+    }
+
+    /**
+      Get Email client
+    */
+    MailClient emailClient() const
+    {
+      return static_cast<MailClient>(mEmailClient);
+    }
+
+    /**
+      Is Email client Immutable
+    */
+    bool isEmailClientImmutable() const
+    {
+      return isImmutable( QStringLiteral( "EmailClient" ) );
+    }
+
+    /**
+      Get Item object corresponding to EmailClient()
+    */
+    ItemEnum *emailClientItem()
+    {
+      return mEmailClientItem;
+    }
+
+    /**
+      Set Reminder units
+    */
+    void setDefaultReminderUnits( TimePeriod::Units v )
+    {
+      if (!isDefaultReminderUnitsImmutable())
+        mDefaultReminderUnits = v;
+    }
+
+    /**
+      Get Reminder units
+    */
+    TimePeriod::Units defaultReminderUnits() const
+    {
+      return static_cast<TimePeriod::Units>(mDefaultReminderUnits);
+    }
+
+    /**
+      Is Reminder units Immutable
+    */
+    bool isDefaultReminderUnitsImmutable() const
+    {
+      return isImmutable( QStringLiteral( "DefaultReminderUnits" ) );
+    }
+
+    /**
+      Get Reminder units default value
+    */
+    TimePeriod::Units defaultDefaultReminderUnitsValue() const
+    {
+        return static_cast<TimePeriod::Units>(defaultDefaultReminderUnitsValue_helper());
+    }
+
+    /**
+      Get Item object corresponding to DefaultReminderUnits()
+    */
+    ItemEnum *defaultReminderUnitsItem()
+    {
+      return mDefaultReminderUnitsItem;
+    }
+
+    /**
+      Set EmptyingRate $(QueueIndex)
+    */
+    void setQueueRate( int i, const QList<int> & v )
+    {
+      if (!isQueueRateImmutable( i ))
+        mQueueRate[i] = v;
+    }
+
+    /**
+      Get EmptyingRate $(QueueIndex)
+    */
+    QList<int> queueRate( int i ) const
+    {
+      return mQueueRate[i];
+    }
+
+    /**
+      Is EmptyingRate $(QueueIndex) Immutable
+    */
+    bool isQueueRateImmutable( int i ) const
+    {
+      return isImmutable( QStringLiteral( "queueRate%1" ).arg( i ) );
+    }
+
+    /**
+      Get Item object corresponding to queueRate()
+    */
+    ItemIntList *queueRateItem( int i )
+    {
+      return mQueueRateItem[i];
+    }
+
+    /**
+      Set ShowQueueTuner
+    */
+    void setShowQueueTuner( bool v )
+    {
+      if (!isShowQueueTunerImmutable())
+        mShowQueueTuner = v;
+    }
+
+    /**
+      Get ShowQueueTuner
+    */
+    bool showQueueTuner() const
+    {
+      return mShowQueueTuner;
+    }
+
+    /**
+      Is ShowQueueTuner Immutable
+    */
+    bool isShowQueueTunerImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ShowQueueTuner" ) );
+    }
+
+    /**
+      Get Item object corresponding to ShowQueueTuner()
+    */
+    ItemBool *showQueueTunerItem()
+    {
+      return mShowQueueTunerItem;
+    }
+
+  protected:
+  public:
+
+    // General
+    bool mAutoSave;
+    int mAutoSaveInterval;
+    bool mConfirm;
+    QString mArchiveFile;
+    int mDestination;
+    int defaultDestinationValue_helper() const;
+
+    // Views
+    int mHourSize;
+    bool mSelectionStartsEditor;
+    bool defaultSelectionStartsEditorValue_helper() const;
+
+    // KOrganizer Plugins
+    QStringList mSelectedPlugins;
+
+    // Colors
+    QColor mHighlightColor;
+    QColor mAgendaBgColor;
+
+    // Fonts
+    QFont mTimeBarFont;
+
+    // Email
+    int mEmailClient;
+    int mDefaultReminderUnits;
+    int defaultDefaultReminderUnitsValue_helper() const;
+
+    // QueueRates
+    QList<int> mQueueRate[3];
+    bool mShowQueueTuner;
+
+  private:
+    ItemBool *mAutoSaveItem;
+    ItemInt *mAutoSaveIntervalItem;
+    ItemBool *mConfirmItem;
+    ItemString *mArchiveFileItem;
+    ItemEnum *mDestinationItem;
+    ItemInt *mHourSizeItem;
+    ItemBool *mSelectionStartsEditorItem;
+    ItemStringList *mSelectedPluginsItem;
+    ItemColor *mHighlightColorItem;
+    ItemColor *mAgendaBgColorItem;
+    ItemFont *mTimeBarFontItem;
+    ItemEnum *mEmailClientItem;
+    ItemEnum *mDefaultReminderUnitsItem;
+    ItemIntList *mQueueRateItem[3];
+    ItemBool *mShowQueueTunerItem;
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test11a.kcfg b/autotests/kconfig_compiler/test11a.kcfg
new file mode 100644 (file)
index 0000000..b91b039
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+  <include>"test11_types.h"</include>
+
+  <kcfgfile name="korganizerrc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+    <entry type="Int" key="Auto Save Interval">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" key="Confirm Deletes" name="Confirm">
+      <label>Confirm deletes</label>
+      <default>true</default>
+    </entry>
+    <entry type="String" key="Archive File">
+    </entry>
+    <entry type="Enum" key="Destination" name="Destination">
+      <label>New Events/Todos Should</label>
+      <choices>
+        <choice name="standardDestination">
+        </choice>
+        <choice name="askDestination">
+        </choice>
+        <choice name="argl1">
+          <label>Argl1 Label</label>
+        </choice>
+        <choice name="argl2">
+          <whatsthis>Argl2 Whatsthis</whatsthis>
+        </choice>
+        <choice name="argl3">
+          <label>Argl3 Label</label>
+          <whatsthis>Argl3 Whatsthis</whatsthis>
+        </choice>
+      </choices>
+      <default>standardDestination</default>
+    </entry>
+  </group>
+
+  <group name="Views">
+    <entry type="Int" key="Hour Size">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" name="SelectionStartsEditor">
+      <label>Time range selection in agenda view starts event editor</label>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="KOrganizer Plugins">
+    <entry type="StringList" name="SelectedPlugins">
+      <default>holidays,webexport</default>
+    </entry>
+  </group>
+
+  <group name="Colors">
+    <entry type="Color" key="Highlight Color">
+      <label>Highlight color</label>
+      <default>100, 100, 255</default>
+    </entry>
+    <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+      <label>Agenda view background color</label>
+      <default>255, 255, 255</default>
+    </entry>
+  </group>
+
+  <group name="Fonts">
+    <entry type="Font" key="TimeBar Font">
+      <label>Time bar</label>
+    </entry>
+  </group>
+
+  <group name="Email">
+    <entry name="EmailClient" key="EmailClient" type="Enum">
+      <label context="@label">Email client</label>
+      <whatsthis context="@info:whatsthis">&lt;para>How to send email when an email alarm is triggered.&lt;list>&lt;item>KMail: The email is sent automatically via &lt;application>KMail&lt;/application>. &lt;application>KMail&lt;/application> is started first if necessary.&lt;/item>&lt;item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use &lt;application>sendmail&lt;/application> or a sendmail compatible mail transport agent.&lt;/item>&lt;/list>&lt;/para></whatsthis>
+      <choices name="MailClient">
+        <choice name="sendmail"><label context="@option">Sendmail</label></choice>
+        <choice name="kmail"><label context="@option">KMail</label></choice>
+      </choices>
+      <default>kmail</default>
+    </entry>
+
+    <entry name="DefaultReminderUnits" key="RemindUnits" type="Enum">
+      <label context="@label">Reminder units</label>
+      <whatsthis context="@info:whatsthis">Default reminder time units in the alarm edit dialog.</whatsthis>
+       <choices name="TimePeriod::Units">
+        <choice name="Minutes"></choice>
+        <choice name="HoursMinutes"><label context="@option">Hours/Minutes</label></choice>
+      </choices>
+      <default>HoursMinutes</default>
+   </entry>
+  </group>
+
+  <group name="QueueRates">
+    <entry name="queueRate$(QueueIndex)" type="IntList" key="EmptyingRate $(QueueIndex)">
+        <!-- kconfig_compiler_kf6 really should do this for me... -->
+        <code>  QList&lt; QList&lt;int&gt; &gt; defaultRate;
+  QList&lt; int &gt; defaultRateInit;
+
+  defaultRateInit.append( 15 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 40 );
+  defaultRateInit.append( 60 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+
+  defaultRateInit.clear();
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 1 );
+  defaultRateInit.append( 0 );
+  defaultRate.append( defaultRateInit );
+        </code>
+        <parameter name="QueueIndex" type="Int" max="2"/>
+        <default param="0" code="true">defaultRate[0]</default>
+        <default param="2" code="true">defaultRate[2]</default>
+    </entry>
+    <entry key="ShowQueueTuner" type="Bool">
+        <default>false</default>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test11a.kcfgc b/autotests/kconfig_compiler/test11a.kcfgc
new file mode 100644 (file)
index 0000000..21b4d63
--- /dev/null
@@ -0,0 +1,13 @@
+# Code generation options for kconfig_compiler_kf6
+File=test11a.kcfg
+ClassName=Test11a
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=false
+ItemAccessors=true
+SetUserTexts=true
+UseEnumTypes=true
+DefaultValueGetters=Destination,SelectionStartsEditor,DefaultReminderUnits
diff --git a/autotests/kconfig_compiler/test11main.cpp b/autotests/kconfig_compiler/test11main.cpp
new file mode 100644 (file)
index 0000000..115f7ce
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test11.h"
+#include "test11a.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test11 *t = new Test11();
+    Test11a *t2 = new Test11a();
+    delete t;
+    delete t2;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test12.cpp.ref b/autotests/kconfig_compiler/test12.cpp.ref
new file mode 100644 (file)
index 0000000..3c20bda
--- /dev/null
@@ -0,0 +1,22 @@
+// This file is generated by kconfig_compiler_kf6 from test12.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test12.h"
+
+Test12::Test12( )
+  : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+  setCurrentGroup( QStringLiteral( "muon" ) );
+
+  QList<QUrl> defaultRnRSource;
+  defaultRnRSource.append( QUrl::fromUserInput(QString::fromUtf8( "http://kde.org" ) ) );
+
+  KConfigSkeleton::ItemUrlList  *itemRnRSource;
+  itemRnRSource = new KConfigSkeleton::ItemUrlList( currentGroup(), QStringLiteral( "RnRSource" ), mRnRSource, defaultRnRSource );
+  addItem( itemRnRSource, QStringLiteral( "RnRSource" ) );
+}
+
+Test12::~Test12()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test12.h.ref b/autotests/kconfig_compiler/test12.h.ref
new file mode 100644 (file)
index 0000000..82b7ca4
--- /dev/null
@@ -0,0 +1,43 @@
+// This file is generated by kconfig_compiler_kf6 from test12.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST12_H
+#define TEST12_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test12 : public KConfigSkeleton
+{
+  public:
+
+    Test12( );
+    ~Test12() override;
+
+    /**
+      Get RnRSource
+    */
+    QList<QUrl> rnRSource() const
+    {
+      return mRnRSource;
+    }
+
+    /**
+      Is RnRSource Immutable
+    */
+    bool isRnRSourceImmutable() const
+    {
+      return isImmutable( QStringLiteral( "RnRSource" ) );
+    }
+
+  protected:
+
+    // muon
+    QList<QUrl> mRnRSource;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test12.kcfg b/autotests/kconfig_compiler/test12.kcfg
new file mode 100644 (file)
index 0000000..57663ab
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="muondatasourcesrc"/>
+  <group name="muon">
+    <entry name="RnRSource" type="UrlList"><default>http://kde.org</default></entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test12.kcfgc b/autotests/kconfig_compiler/test12.kcfgc
new file mode 100644 (file)
index 0000000..d3a8fe2
--- /dev/null
@@ -0,0 +1,2 @@
+ClassName=Test12
+File=test12.kcfg
diff --git a/autotests/kconfig_compiler/test12main.cpp b/autotests/kconfig_compiler/test12main.cpp
new file mode 100644 (file)
index 0000000..aedcf9f
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test12.h"
+
+int main(int, char **)
+{
+    Test12 t = Test12();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test13.cpp.ref b/autotests/kconfig_compiler/test13.cpp.ref
new file mode 100644 (file)
index 0000000..189278f
--- /dev/null
@@ -0,0 +1,38 @@
+// This file is generated by kconfig_compiler_kf6 from test13.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test13.h"
+
+Test13::Test13( )
+  : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test13::itemChanged);
+
+  setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+  KConfigSkeleton::ItemUrl  *itemPicturesDir;
+  itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+  addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+  KConfigCompilerSignallingItem  *itemBrightness;
+  KConfigSkeleton::ItemDouble  *innerItemBrightness;
+  innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+  itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+  addItem( itemBrightness, QStringLiteral( "brightness" ) );
+  KConfigSkeleton::ItemBool  *itemStartsWithUppercase;
+  itemStartsWithUppercase = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "StartsWithUppercase" ), mStartsWithUppercase );
+  addItem( itemStartsWithUppercase, QStringLiteral( "StartsWithUppercase" ) );
+}
+
+Test13::~Test13()
+{
+}
+
+
+void Test13::itemChanged(quint64 signalFlag) {
+
+  switch (signalFlag) {
+  case signalBrightnessChanged:
+    Q_EMIT brightnessChanged();
+    break;
+  }
+}
diff --git a/autotests/kconfig_compiler/test13.h.ref b/autotests/kconfig_compiler/test13.h.ref
new file mode 100644 (file)
index 0000000..6790d53
--- /dev/null
@@ -0,0 +1,106 @@
+// This file is generated by kconfig_compiler_kf6 from test13.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST13_H
+#define TEST13_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test13 : public KConfigSkeleton
+{
+  Q_OBJECT
+  public:
+
+    Test13( );
+    ~Test13() override;
+
+    Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+    Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+    /**
+      Get picturesDir
+    */
+    QUrl picturesDir() const
+    {
+      return mPicturesDir;
+    }
+
+    /**
+      Is picturesDir Immutable
+    */
+    bool isPicturesDirImmutable() const
+    {
+      return isImmutable( QStringLiteral( "picturesDir" ) );
+    }
+
+    /**
+      Set brightness
+    */
+    void setBrightness( double v )
+    {
+      if (v != mBrightness && !isBrightnessImmutable()) {
+        mBrightness = v;
+        Q_EMIT brightnessChanged();
+      }
+    }
+
+    Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+    Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+    /**
+      Get brightness
+    */
+    double brightness() const
+    {
+      return mBrightness;
+    }
+
+    /**
+      Is brightness Immutable
+    */
+    bool isBrightnessImmutable() const
+    {
+      return isImmutable( QStringLiteral( "brightness" ) );
+    }
+
+    Q_PROPERTY(bool startsWithUppercase READ startsWithUppercase CONSTANT)
+    Q_PROPERTY(bool isStartsWithUppercaseImmutable READ isStartsWithUppercaseImmutable CONSTANT)
+    /**
+      Get StartsWithUppercase
+    */
+    bool startsWithUppercase() const
+    {
+      return mStartsWithUppercase;
+    }
+
+    /**
+      Is StartsWithUppercase Immutable
+    */
+    bool isStartsWithUppercaseImmutable() const
+    {
+      return isImmutable( QStringLiteral( "StartsWithUppercase" ) );
+    }
+
+
+    enum {
+      signalBrightnessChanged = 1
+    };
+
+  Q_SIGNALS:
+    void brightnessChanged();
+
+  private:
+    void itemChanged(quint64 signalFlag);
+
+  protected:
+
+    // kamoso
+    QUrl mPicturesDir;
+    double mBrightness;
+    bool mStartsWithUppercase;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test13.kcfg b/autotests/kconfig_compiler/test13.kcfg
new file mode 100644 (file)
index 0000000..cf78c70
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="muondatasourcesrc"/>
+  <group name="kamoso">
+    <entry name="picturesDir" type="Url" />
+    <entry name="brightness" type="double" />
+    <entry name="StartsWithUppercase" type="bool" />
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test13.kcfgc b/autotests/kconfig_compiler/test13.kcfgc
new file mode 100644 (file)
index 0000000..a0c3c13
--- /dev/null
@@ -0,0 +1,4 @@
+ClassName=Test13
+GenerateProperties=true
+Mutators=brightness
+File=test13.kcfg
diff --git a/autotests/kconfig_compiler/test13main.cpp b/autotests/kconfig_compiler/test13main.cpp
new file mode 100644 (file)
index 0000000..a342864
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test13.h"
+
+int main(int, char **)
+{
+    Test13 t = Test13();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test14.cpp.ref b/autotests/kconfig_compiler/test14.cpp.ref
new file mode 100644 (file)
index 0000000..7ca8102
--- /dev/null
@@ -0,0 +1,35 @@
+// This file is generated by kconfig_compiler_kf6 from test14.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test14.h"
+
+Test14::Test14( )
+  : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test14::itemChanged);
+
+  setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+  KConfigSkeleton::ItemUrl  *itemPicturesDir;
+  itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+  addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+  KConfigCompilerSignallingItem  *itemBrightness;
+  KConfigSkeleton::ItemDouble  *innerItemBrightness;
+  innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+  itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+  addItem( itemBrightness, QStringLiteral( "brightness" ) );
+}
+
+Test14::~Test14()
+{
+}
+
+
+void Test14::itemChanged(quint64 signalFlag) {
+
+  switch (signalFlag) {
+  case signalBrightnessChanged:
+    Q_EMIT brightnessChanged();
+    break;
+  }
+}
diff --git a/autotests/kconfig_compiler/test14.h.ref b/autotests/kconfig_compiler/test14.h.ref
new file mode 100644 (file)
index 0000000..488e286
--- /dev/null
@@ -0,0 +1,89 @@
+// This file is generated by kconfig_compiler_kf6 from test14.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST14_H
+#define TEST14_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <qqmlintegration.h>
+
+class Test14 : public KConfigSkeleton
+{
+  Q_OBJECT
+  QML_ELEMENT
+  public:
+
+    Test14( );
+    ~Test14() override;
+
+    Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+    Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+    /**
+      Get picturesDir
+    */
+    QUrl picturesDir() const
+    {
+      return mPicturesDir;
+    }
+
+    /**
+      Is picturesDir Immutable
+    */
+    bool isPicturesDirImmutable() const
+    {
+      return isImmutable( QStringLiteral( "picturesDir" ) );
+    }
+
+    /**
+      Set brightness
+    */
+    void setBrightness( double v )
+    {
+      if (v != mBrightness && !isBrightnessImmutable()) {
+        mBrightness = v;
+        Q_EMIT brightnessChanged();
+      }
+    }
+
+    Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+    Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+    /**
+      Get brightness
+    */
+    double brightness() const
+    {
+      return mBrightness;
+    }
+
+    /**
+      Is brightness Immutable
+    */
+    bool isBrightnessImmutable() const
+    {
+      return isImmutable( QStringLiteral( "brightness" ) );
+    }
+
+
+    enum {
+      signalBrightnessChanged = 1
+    };
+
+  Q_SIGNALS:
+    void brightnessChanged();
+
+  private:
+    void itemChanged(quint64 signalFlag);
+
+  protected:
+
+    // kamoso
+    QUrl mPicturesDir;
+    double mBrightness;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test14.kcfg b/autotests/kconfig_compiler/test14.kcfg
new file mode 100644 (file)
index 0000000..c4d3635
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="muondatasourcesrc"/>
+  <group name="kamoso">
+    <entry name="picturesDir" type="Url" />
+    <entry name="brightness" type="double" />
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test14.kcfgc b/autotests/kconfig_compiler/test14.kcfgc
new file mode 100644 (file)
index 0000000..cf6b7ba
--- /dev/null
@@ -0,0 +1,5 @@
+ClassName=Test14
+GenerateProperties=true
+Mutators=brightness
+File=test14.kcfg
+QmlRegistration=true
diff --git a/autotests/kconfig_compiler/test14main.cpp b/autotests/kconfig_compiler/test14main.cpp
new file mode 100644 (file)
index 0000000..1b68654
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+int main(int, char **)
+{
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test14qml.cpp b/autotests/kconfig_compiler/test14qml.cpp
new file mode 100644 (file)
index 0000000..8d729fd
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+    SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QTest>
+
+class Test14Qml : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void testQml()
+    {
+        QQmlApplicationEngine engine;
+
+        engine.loadFromModule("org.kde.kconfig.test14", "Test14Qml");
+
+        QVERIFY(engine.rootObjects().size());
+    }
+};
+
+QTEST_MAIN(Test14Qml)
+
+#include "test14qml.moc"
diff --git a/autotests/kconfig_compiler/test15.cpp.ref b/autotests/kconfig_compiler/test15.cpp.ref
new file mode 100644 (file)
index 0000000..1bad31d
--- /dev/null
@@ -0,0 +1,73 @@
+// This file is generated by kconfig_compiler_kf6 from test15.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test15.h"
+
+#include <qglobal.h>
+#include <QFile>
+#include <QQmlEngine>
+
+class Test15Helper
+{
+  public:
+    Test15Helper() : q(nullptr) {}
+    ~Test15Helper() { delete q; q = nullptr; }
+    Test15Helper(const Test15Helper&) = delete;
+    Test15Helper& operator=(const Test15Helper&) = delete;
+    Test15 *q;
+};
+Q_GLOBAL_STATIC(Test15Helper, s_globalTest15)
+Test15 *Test15::self()
+{
+  if (!s_globalTest15()->q) {
+    new Test15;
+    s_globalTest15()->q->read();
+  }
+
+  return s_globalTest15()->q;
+}
+
+Test15 *Test15::create(QQmlEngine *, QJSEngine *)
+{
+  QQmlEngine::setObjectOwnership(self(), QQmlEngine::CppOwnership);
+  return self();
+}
+
+Test15::Test15( )
+  : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+  Q_ASSERT(!s_globalTest15()->q);
+  s_globalTest15()->q = this;
+  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test15::itemChanged);
+
+  setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+  KConfigSkeleton::ItemUrl  *itemPicturesDir;
+  itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+  addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+  KConfigCompilerSignallingItem  *itemBrightness;
+  KConfigSkeleton::ItemDouble  *innerItemBrightness;
+  innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+  itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+  addItem( itemBrightness, QStringLiteral( "brightness" ) );
+  KConfigSkeleton::ItemBool  *itemStartsWithUppercase;
+  itemStartsWithUppercase = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "StartsWithUppercase" ), mStartsWithUppercase );
+  addItem( itemStartsWithUppercase, QStringLiteral( "StartsWithUppercase" ) );
+}
+
+Test15::~Test15()
+{
+  if (s_globalTest15.exists() && !s_globalTest15.isDestroyed()) {
+    s_globalTest15()->q = nullptr;
+  }
+}
+
+
+void Test15::itemChanged(quint64 signalFlag) {
+
+  switch (signalFlag) {
+  case signalBrightnessChanged:
+    Q_EMIT brightnessChanged();
+    break;
+  }
+}
diff --git a/autotests/kconfig_compiler/test15.h.ref b/autotests/kconfig_compiler/test15.h.ref
new file mode 100644 (file)
index 0000000..fa28678
--- /dev/null
@@ -0,0 +1,122 @@
+// This file is generated by kconfig_compiler_kf6 from test15.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST15_H
+#define TEST15_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <qqmlintegration.h>
+
+class QQmlEngine;
+class QJSEngine;
+
+class Test15 : public KConfigSkeleton
+{
+  Q_OBJECT
+  QML_ELEMENT
+  QML_SINGLETON
+  public:
+
+    static Test15 *self();
+    static Test15 *create(QQmlEngine *, QJSEngine *);
+    ~Test15() override;
+
+    Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+    Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+    /**
+      Get picturesDir
+    */
+    static
+    QUrl picturesDir()
+    {
+      return self()->mPicturesDir;
+    }
+
+    /**
+      Is picturesDir Immutable
+    */
+    static
+    bool isPicturesDirImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "picturesDir" ) );
+    }
+
+    /**
+      Set brightness
+    */
+    static
+    void setBrightness( double v )
+    {
+      if (v != self()->mBrightness && !self()->isBrightnessImmutable()) {
+        self()->mBrightness = v;
+        Q_EMIT self()->brightnessChanged();
+      }
+    }
+
+    Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+    Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+    /**
+      Get brightness
+    */
+    static
+    double brightness()
+    {
+      return self()->mBrightness;
+    }
+
+    /**
+      Is brightness Immutable
+    */
+    static
+    bool isBrightnessImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "brightness" ) );
+    }
+
+    Q_PROPERTY(bool startsWithUppercase READ startsWithUppercase CONSTANT)
+    Q_PROPERTY(bool isStartsWithUppercaseImmutable READ isStartsWithUppercaseImmutable CONSTANT)
+    /**
+      Get StartsWithUppercase
+    */
+    static
+    bool startsWithUppercase()
+    {
+      return self()->mStartsWithUppercase;
+    }
+
+    /**
+      Is StartsWithUppercase Immutable
+    */
+    static
+    bool isStartsWithUppercaseImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "StartsWithUppercase" ) );
+    }
+
+
+    enum {
+      signalBrightnessChanged = 1
+    };
+
+  Q_SIGNALS:
+    void brightnessChanged();
+
+  private:
+    void itemChanged(quint64 signalFlag);
+
+  protected:
+    Test15();
+    friend class Test15Helper;
+
+
+    // kamoso
+    QUrl mPicturesDir;
+    double mBrightness;
+    bool mStartsWithUppercase;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test15.kcfg b/autotests/kconfig_compiler/test15.kcfg
new file mode 100644 (file)
index 0000000..cf78c70
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="muondatasourcesrc"/>
+  <group name="kamoso">
+    <entry name="picturesDir" type="Url" />
+    <entry name="brightness" type="double" />
+    <entry name="StartsWithUppercase" type="bool" />
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test15.kcfgc b/autotests/kconfig_compiler/test15.kcfgc
new file mode 100644 (file)
index 0000000..e89ff2a
--- /dev/null
@@ -0,0 +1,6 @@
+ClassName=Test15
+GenerateProperties=true
+Mutators=brightness
+File=test15.kcfg
+QmlRegistration=true
+Singleton=true
diff --git a/autotests/kconfig_compiler/test15main.cpp b/autotests/kconfig_compiler/test15main.cpp
new file mode 100644 (file)
index 0000000..25bbce3
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test15.h"
+
+int main(int, char **)
+{
+    Test15::self();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test15qml.cpp b/autotests/kconfig_compiler/test15qml.cpp
new file mode 100644 (file)
index 0000000..54ec36f
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+    SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QTest>
+
+class Test15Qml : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void testQml()
+    {
+        QQmlApplicationEngine engine;
+
+        engine.loadFromModule("org.kde.kconfig.test15", "Test15Qml");
+
+        QVERIFY(engine.rootObjects().size());
+    }
+};
+
+QTEST_MAIN(Test15Qml)
+
+#include "test15qml.moc"
diff --git a/autotests/kconfig_compiler/test1main.cpp b/autotests/kconfig_compiler/test1main.cpp
new file mode 100644 (file)
index 0000000..43dcd2c
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test1.h"
+#include <KConfig>
+#include <KConfigGroup>
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+
+    {
+        KConfig initialConfig(QStringLiteral("examplerc"));
+        KConfigGroup group = initialConfig.group(QStringLiteral("MyOptions"));
+        group.writeEntry(QStringLiteral("MyString"), QStringLiteral("The String"));
+    }
+    Test1 *t = new Test1(QString(), QString());
+
+    bool ok = t->myString() == QLatin1String("The String");
+
+    delete t;
+    return ok ? 0 : 1;
+}
diff --git a/autotests/kconfig_compiler/test2.cpp.ref b/autotests/kconfig_compiler/test2.cpp.ref
new file mode 100644 (file)
index 0000000..12c5c64
--- /dev/null
@@ -0,0 +1,96 @@
+// This file is generated by kconfig_compiler_kf6 from test2.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test2.h"
+
+Test2::Test2( )
+  : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  mAutoSaveItem->setLabel( QCoreApplication::translate("Test2", "Enable automatic saving of calendar") );
+  mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test2", "WhatsThis text for AutoSave option") );
+  addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+  mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+  mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test2", "Auto Save Interval") );
+  addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+  mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+  mConfirmItem->setLabel( QCoreApplication::translate("Test2", "Confirm deletes") );
+  addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+  mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+  mArchiveFileItem->setLabel( QCoreApplication::translate("Test2", "Archive File") );
+  addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+  QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("standardDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("askDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl1");
+    choice.label = QCoreApplication::translate("Test2", "Argl1 Label");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl2");
+    choice.whatsThis = QCoreApplication::translate("Test2", "Argl2 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  {
+    MyPrefs::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl3");
+    choice.label = QCoreApplication::translate("Test2", "Argl3 Label");
+    choice.whatsThis = QCoreApplication::translate("Test2", "Argl3 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, standardDestination );
+  mDestinationItem->setLabel( QCoreApplication::translate("Test2", "New Events/Todos Should") );
+  addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+  setCurrentGroup( QStringLiteral( "Views" ) );
+
+  mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+  mHourSizeItem->setLabel( QCoreApplication::translate("Test2", "Hour Size") );
+  addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+  mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+  mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test2", "Time range selection in agenda view starts event editor") );
+  addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+  setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+  QStringList defaultSelectedPlugins;
+  defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+  defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+  mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+  mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test2", "SelectedPlugins") );
+  addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+  setCurrentGroup( QStringLiteral( "Colors" ) );
+
+  mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+  mHighlightColorItem->setLabel( QCoreApplication::translate("Test2", "Highlight color") );
+  addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+  mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+  mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test2", "Agenda view background color") );
+  addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+  setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+  mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+  mTimeBarFontItem->setLabel( QCoreApplication::translate("Test2", "Time bar") );
+  addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+}
+
+Test2::~Test2()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test2.h.ref b/autotests/kconfig_compiler/test2.h.ref
new file mode 100644 (file)
index 0000000..f99ead5
--- /dev/null
@@ -0,0 +1,423 @@
+// This file is generated by kconfig_compiler_kf6 from test2.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST2_H
+#define TEST2_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test2 : public MyPrefs
+{
+  public:
+    enum EnumDestination { standardDestination, askDestination, argl1, argl2, argl3 };
+
+    Test2( );
+    ~Test2() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    void setAutoSave( bool v )
+    {
+      if (!isAutoSaveImmutable())
+        mAutoSave = v;
+    }
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem()
+    {
+      return mAutoSaveItem;
+    }
+
+    /**
+      Set Auto Save Interval
+    */
+    void setAutoSaveInterval( int v )
+    {
+      if (!isAutoSaveIntervalImmutable())
+        mAutoSaveInterval = v;
+    }
+
+    /**
+      Get Auto Save Interval
+    */
+    int autoSaveInterval() const
+    {
+      return mAutoSaveInterval;
+    }
+
+    /**
+      Is Auto Save Interval Immutable
+    */
+    bool isAutoSaveIntervalImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSaveInterval()
+    */
+    ItemInt *autoSaveIntervalItem()
+    {
+      return mAutoSaveIntervalItem;
+    }
+
+    /**
+      Set Confirm deletes
+    */
+    void setConfirm( bool v )
+    {
+      if (!isConfirmImmutable())
+        mConfirm = v;
+    }
+
+    /**
+      Get Confirm deletes
+    */
+    bool confirm() const
+    {
+      return mConfirm;
+    }
+
+    /**
+      Is Confirm deletes Immutable
+    */
+    bool isConfirmImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Confirm" ) );
+    }
+
+    /**
+      Get Item object corresponding to Confirm()
+    */
+    ItemBool *confirmItem()
+    {
+      return mConfirmItem;
+    }
+
+    /**
+      Set Archive File
+    */
+    void setArchiveFile( const QString & v )
+    {
+      if (!isArchiveFileImmutable())
+        mArchiveFile = v;
+    }
+
+    /**
+      Get Archive File
+    */
+    QString archiveFile() const
+    {
+      return mArchiveFile;
+    }
+
+    /**
+      Is Archive File Immutable
+    */
+    bool isArchiveFileImmutable() const
+    {
+      return isImmutable( QStringLiteral( "ArchiveFile" ) );
+    }
+
+    /**
+      Get Item object corresponding to ArchiveFile()
+    */
+    ItemString *archiveFileItem()
+    {
+      return mArchiveFileItem;
+    }
+
+    /**
+      Set New Events/Todos Should
+    */
+    void setDestination( int v )
+    {
+      if (!isDestinationImmutable())
+        mDestination = v;
+    }
+
+    /**
+      Get New Events/Todos Should
+    */
+    int destination() const
+    {
+      return mDestination;
+    }
+
+    /**
+      Is New Events/Todos Should Immutable
+    */
+    bool isDestinationImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Destination" ) );
+    }
+
+    /**
+      Get Item object corresponding to Destination()
+    */
+    ItemEnum *destinationItem()
+    {
+      return mDestinationItem;
+    }
+
+    /**
+      Set Hour Size
+    */
+    void setHourSize( int v )
+    {
+      if (!isHourSizeImmutable())
+        mHourSize = v;
+    }
+
+    /**
+      Get Hour Size
+    */
+    int hourSize() const
+    {
+      return mHourSize;
+    }
+
+    /**
+      Is Hour Size Immutable
+    */
+    bool isHourSizeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HourSize" ) );
+    }
+
+    /**
+      Get Item object corresponding to HourSize()
+    */
+    ItemInt *hourSizeItem()
+    {
+      return mHourSizeItem;
+    }
+
+    /**
+      Set Time range selection in agenda view starts event editor
+    */
+    void setSelectionStartsEditor( bool v )
+    {
+      if (!isSelectionStartsEditorImmutable())
+        mSelectionStartsEditor = v;
+    }
+
+    /**
+      Get Time range selection in agenda view starts event editor
+    */
+    bool selectionStartsEditor() const
+    {
+      return mSelectionStartsEditor;
+    }
+
+    /**
+      Is Time range selection in agenda view starts event editor Immutable
+    */
+    bool isSelectionStartsEditorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+    }
+
+    /**
+      Get Item object corresponding to SelectionStartsEditor()
+    */
+    ItemBool *selectionStartsEditorItem()
+    {
+      return mSelectionStartsEditorItem;
+    }
+
+    /**
+      Set SelectedPlugins
+    */
+    void setSelectedPlugins( const QStringList & v )
+    {
+      if (!isSelectedPluginsImmutable())
+        mSelectedPlugins = v;
+    }
+
+    /**
+      Get SelectedPlugins
+    */
+    QStringList selectedPlugins() const
+    {
+      return mSelectedPlugins;
+    }
+
+    /**
+      Is SelectedPlugins Immutable
+    */
+    bool isSelectedPluginsImmutable() const
+    {
+      return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+    }
+
+    /**
+      Get Item object corresponding to SelectedPlugins()
+    */
+    ItemStringList *selectedPluginsItem()
+    {
+      return mSelectedPluginsItem;
+    }
+
+    /**
+      Set Highlight color
+    */
+    void setHighlightColor( const QColor & v )
+    {
+      if (!isHighlightColorImmutable())
+        mHighlightColor = v;
+    }
+
+    /**
+      Get Highlight color
+    */
+    QColor highlightColor() const
+    {
+      return mHighlightColor;
+    }
+
+    /**
+      Is Highlight color Immutable
+    */
+    bool isHighlightColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "HighlightColor" ) );
+    }
+
+    /**
+      Get Item object corresponding to HighlightColor()
+    */
+    ItemColor *highlightColorItem()
+    {
+      return mHighlightColorItem;
+    }
+
+    /**
+      Set Agenda view background color
+    */
+    void setAgendaBgColor( const QColor & v )
+    {
+      if (!isAgendaBgColorImmutable())
+        mAgendaBgColor = v;
+    }
+
+    /**
+      Get Agenda view background color
+    */
+    QColor agendaBgColor() const
+    {
+      return mAgendaBgColor;
+    }
+
+    /**
+      Is Agenda view background color Immutable
+    */
+    bool isAgendaBgColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+    }
+
+    /**
+      Get Item object corresponding to AgendaBgColor()
+    */
+    ItemColor *agendaBgColorItem()
+    {
+      return mAgendaBgColorItem;
+    }
+
+    /**
+      Set Time bar
+    */
+    void setTimeBarFont( const QFont & v )
+    {
+      if (!isTimeBarFontImmutable())
+        mTimeBarFont = v;
+    }
+
+    /**
+      Get Time bar
+    */
+    QFont timeBarFont() const
+    {
+      return mTimeBarFont;
+    }
+
+    /**
+      Is Time bar Immutable
+    */
+    bool isTimeBarFontImmutable() const
+    {
+      return isImmutable( QStringLiteral( "TimeBarFont" ) );
+    }
+
+    /**
+      Get Item object corresponding to TimeBarFont()
+    */
+    ItemFont *timeBarFontItem()
+    {
+      return mTimeBarFontItem;
+    }
+
+  protected:
+  public:
+
+    // General
+    bool mAutoSave;
+    int mAutoSaveInterval;
+    bool mConfirm;
+    QString mArchiveFile;
+    int mDestination;
+
+    // Views
+    int mHourSize;
+    bool mSelectionStartsEditor;
+
+    // KOrganizer Plugins
+    QStringList mSelectedPlugins;
+
+    // Colors
+    QColor mHighlightColor;
+    QColor mAgendaBgColor;
+
+    // Fonts
+    QFont mTimeBarFont;
+
+  private:
+    ItemBool *mAutoSaveItem;
+    ItemInt *mAutoSaveIntervalItem;
+    ItemBool *mConfirmItem;
+    ItemString *mArchiveFileItem;
+    ItemEnum *mDestinationItem;
+    ItemInt *mHourSizeItem;
+    ItemBool *mSelectionStartsEditorItem;
+    ItemStringList *mSelectedPluginsItem;
+    ItemColor *mHighlightColorItem;
+    ItemColor *mAgendaBgColorItem;
+    ItemFont *mTimeBarFontItem;
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test2.kcfg b/autotests/kconfig_compiler/test2.kcfg
new file mode 100644 (file)
index 0000000..3b19e27
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="korganizerrc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+    <entry type="Int" key="Auto Save Interval">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" key="Confirm Deletes" name="Confirm">
+      <label>Confirm deletes</label>
+      <default>true</default>
+    </entry>
+    <entry type="String" key="Archive File">
+    </entry>
+    <entry type="Enum" key="Destination" name="Destination">
+      <label>New Events/Todos Should</label>
+      <choices>
+        <choice name="standardDestination">
+        </choice>
+        <choice name="askDestination">
+        </choice>
+        <choice name="argl1">
+          <label>Argl1 Label</label>
+        </choice>
+        <choice name="argl2">
+          <whatsthis>Argl2 Whatsthis</whatsthis>
+        </choice>
+        <choice name="argl3">
+          <label>Argl3 Label</label>
+          <whatsthis>Argl3 Whatsthis</whatsthis>
+        </choice>
+      </choices>
+      <default>standardDestination</default>
+    </entry>
+  </group>
+
+  <group name="Views">
+    <entry type="Int" key="Hour Size">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" name="SelectionStartsEditor">
+      <label>Time range selection in agenda view starts event editor</label>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="KOrganizer Plugins">
+    <entry type="StringList" name="SelectedPlugins">
+      <default>holidays,webexport</default>
+    </entry>
+  </group>
+
+  <group name="Colors">
+    <entry type="Color" key="Highlight Color">
+      <label>Highlight color</label>
+      <default>100, 100, 255</default>
+    </entry>
+    <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+      <label>Agenda view background color</label>
+      <default>255, 255, 255</default>
+    </entry>
+  </group>
+
+  <group name="Fonts">
+    <entry type="Font" key="TimeBar Font">
+      <label>Time bar</label>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test2.kcfgc b/autotests/kconfig_compiler/test2.kcfgc
new file mode 100644 (file)
index 0000000..40d789d
--- /dev/null
@@ -0,0 +1,11 @@
+# Code generation options for kconfig_compiler_kf6
+File=test2.kcfg
+ClassName=Test2
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test2main.cpp b/autotests/kconfig_compiler/test2main.cpp
new file mode 100644 (file)
index 0000000..51d541f
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test2.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test2 t = Test2();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test3.cpp.ref b/autotests/kconfig_compiler/test3.cpp.ref
new file mode 100644 (file)
index 0000000..55651fe
--- /dev/null
@@ -0,0 +1,29 @@
+// This file is generated by kconfig_compiler_kf6 from test3.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test3.h"
+
+using namespace TestNameSpace;
+
+Test3::Test3( )
+  : KConfigSkeleton( QStringLiteral( "test3rc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  mAutoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+
+  setCurrentGroup( QStringLiteral( "Blah" ) );
+
+  mBlubbItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Blubb" ), mBlubb, 10 );
+  addItem( mBlubbItem, QStringLiteral( "Blubb" ) );
+  mBlahBlahItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BlahBlah" ), mBlahBlah, QStringLiteral( "a string" ) );
+  addItem( mBlahBlahItem, QStringLiteral( "BlahBlah" ) );
+  mMyPasswordItem = new KConfigSkeleton::ItemPassword( currentGroup(), QStringLiteral( "MyPassword" ), mMyPassword );
+  addItem( mMyPasswordItem, QStringLiteral( "MyPassword" ) );
+}
+
+Test3::~Test3()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test3.h.ref b/autotests/kconfig_compiler/test3.h.ref
new file mode 100644 (file)
index 0000000..99b7edf
--- /dev/null
@@ -0,0 +1,172 @@
+// This file is generated by kconfig_compiler_kf6 from test3.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TEST3_H
+#define TESTNAMESPACE_TEST3_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class Test3 : public KConfigSkeleton
+{
+  public:
+
+    Test3( );
+    ~Test3() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    void setAutoSave( bool v )
+    {
+      if (!isAutoSaveImmutable())
+        mAutoSave = v;
+    }
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem()
+    {
+      return mAutoSaveItem;
+    }
+
+    /**
+      Set Blubb
+    */
+    void setBlubb( int v )
+    {
+      if (!isBlubbImmutable())
+        mBlubb = v;
+    }
+
+    /**
+      Get Blubb
+    */
+    int blubb() const
+    {
+      return mBlubb;
+    }
+
+    /**
+      Is Blubb Immutable
+    */
+    bool isBlubbImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Blubb" ) );
+    }
+
+    /**
+      Get Item object corresponding to Blubb()
+    */
+    ItemInt *blubbItem()
+    {
+      return mBlubbItem;
+    }
+
+    /**
+      Set BlahBlah
+    */
+    void setBlahBlah( const QString & v )
+    {
+      if (!isBlahBlahImmutable())
+        mBlahBlah = v;
+    }
+
+    /**
+      Get BlahBlah
+    */
+    QString blahBlah() const
+    {
+      return mBlahBlah;
+    }
+
+    /**
+      Is BlahBlah Immutable
+    */
+    bool isBlahBlahImmutable() const
+    {
+      return isImmutable( QStringLiteral( "BlahBlah" ) );
+    }
+
+    /**
+      Get Item object corresponding to BlahBlah()
+    */
+    ItemString *blahBlahItem()
+    {
+      return mBlahBlahItem;
+    }
+
+    /**
+      Set MyPassword
+    */
+    void setMyPassword( const QString & v )
+    {
+      if (!isMyPasswordImmutable())
+        mMyPassword = v;
+    }
+
+    /**
+      Get MyPassword
+    */
+    QString myPassword() const
+    {
+      return mMyPassword;
+    }
+
+    /**
+      Is MyPassword Immutable
+    */
+    bool isMyPasswordImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyPassword" ) );
+    }
+
+    /**
+      Get Item object corresponding to MyPassword()
+    */
+    ItemPassword *myPasswordItem()
+    {
+      return mMyPasswordItem;
+    }
+
+  protected:
+
+    // General
+    bool mAutoSave;
+
+    // Blah
+    int mBlubb;
+    QString mBlahBlah;
+    QString mMyPassword;
+
+  private:
+    ItemBool *mAutoSaveItem;
+    ItemInt *mBlubbItem;
+    ItemString *mBlahBlahItem;
+    ItemPassword *mMyPasswordItem;
+};
+
+}
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test3.kcfg b/autotests/kconfig_compiler/test3.kcfg
new file mode 100644 (file)
index 0000000..77916da
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test3rc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="Blah">
+    <entry type="Int" name="Blubb">
+      <default>10</default>
+    </entry>
+    <entry type="String" name="BlahBlah">
+      <default>a string</default>
+    </entry>
+    <entry type="Password" name="MyPassword"/>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test3.kcfgc b/autotests/kconfig_compiler/test3.kcfgc
new file mode 100644 (file)
index 0000000..15ff6ab
--- /dev/null
@@ -0,0 +1,12 @@
+# Code generation options for kconfig_compiler_kf6
+File=test3.kcfg
+NameSpace=TestNameSpace
+ClassName=Test3
+#Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test3a.cpp.ref b/autotests/kconfig_compiler/test3a.cpp.ref
new file mode 100644 (file)
index 0000000..403924b
--- /dev/null
@@ -0,0 +1,29 @@
+// This file is generated by kconfig_compiler_kf6 from test3a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test3a.h"
+
+using namespace TestNameSpace::InnerNameSpace;
+
+Test3a::Test3a( )
+  : KConfigSkeleton( QStringLiteral( "test3arc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  mAutoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+
+  setCurrentGroup( QStringLiteral( "Blah" ) );
+
+  mBlubbItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Blubb" ), mBlubb, 10 );
+  addItem( mBlubbItem, QStringLiteral( "Blubb" ) );
+  mBlahBlahItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BlahBlah" ), mBlahBlah, QStringLiteral( "a string" ) );
+  addItem( mBlahBlahItem, QStringLiteral( "BlahBlah" ) );
+  mMyPasswordItem = new KConfigSkeleton::ItemPassword( currentGroup(), QStringLiteral( "MyPassword" ), mMyPassword );
+  addItem( mMyPasswordItem, QStringLiteral( "MyPassword" ) );
+}
+
+Test3a::~Test3a()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test3a.h.ref b/autotests/kconfig_compiler/test3a.h.ref
new file mode 100644 (file)
index 0000000..d5f0208
--- /dev/null
@@ -0,0 +1,174 @@
+// This file is generated by kconfig_compiler_kf6 from test3a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_INNERNAMESPACE_TEST3A_H
+#define TESTNAMESPACE_INNERNAMESPACE_TEST3A_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+namespace InnerNameSpace {
+
+class Test3a : public KConfigSkeleton
+{
+  public:
+
+    Test3a( );
+    ~Test3a() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    void setAutoSave( bool v )
+    {
+      if (!isAutoSaveImmutable())
+        mAutoSave = v;
+    }
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem()
+    {
+      return mAutoSaveItem;
+    }
+
+    /**
+      Set Blubb
+    */
+    void setBlubb( int v )
+    {
+      if (!isBlubbImmutable())
+        mBlubb = v;
+    }
+
+    /**
+      Get Blubb
+    */
+    int blubb() const
+    {
+      return mBlubb;
+    }
+
+    /**
+      Is Blubb Immutable
+    */
+    bool isBlubbImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Blubb" ) );
+    }
+
+    /**
+      Get Item object corresponding to Blubb()
+    */
+    ItemInt *blubbItem()
+    {
+      return mBlubbItem;
+    }
+
+    /**
+      Set BlahBlah
+    */
+    void setBlahBlah( const QString & v )
+    {
+      if (!isBlahBlahImmutable())
+        mBlahBlah = v;
+    }
+
+    /**
+      Get BlahBlah
+    */
+    QString blahBlah() const
+    {
+      return mBlahBlah;
+    }
+
+    /**
+      Is BlahBlah Immutable
+    */
+    bool isBlahBlahImmutable() const
+    {
+      return isImmutable( QStringLiteral( "BlahBlah" ) );
+    }
+
+    /**
+      Get Item object corresponding to BlahBlah()
+    */
+    ItemString *blahBlahItem()
+    {
+      return mBlahBlahItem;
+    }
+
+    /**
+      Set MyPassword
+    */
+    void setMyPassword( const QString & v )
+    {
+      if (!isMyPasswordImmutable())
+        mMyPassword = v;
+    }
+
+    /**
+      Get MyPassword
+    */
+    QString myPassword() const
+    {
+      return mMyPassword;
+    }
+
+    /**
+      Is MyPassword Immutable
+    */
+    bool isMyPasswordImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyPassword" ) );
+    }
+
+    /**
+      Get Item object corresponding to MyPassword()
+    */
+    ItemPassword *myPasswordItem()
+    {
+      return mMyPasswordItem;
+    }
+
+  protected:
+
+    // General
+    bool mAutoSave;
+
+    // Blah
+    int mBlubb;
+    QString mBlahBlah;
+    QString mMyPassword;
+
+  private:
+    ItemBool *mAutoSaveItem;
+    ItemInt *mBlubbItem;
+    ItemString *mBlahBlahItem;
+    ItemPassword *mMyPasswordItem;
+};
+
+}
+}
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test3a.kcfg b/autotests/kconfig_compiler/test3a.kcfg
new file mode 100644 (file)
index 0000000..d49b4d6
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test3arc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="Blah">
+    <entry type="Int" name="Blubb">
+      <default>10</default>
+    </entry>
+    <entry type="String" name="BlahBlah">
+      <default>a string</default>
+    </entry>
+    <entry type="Password" name="MyPassword"/>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test3a.kcfgc b/autotests/kconfig_compiler/test3a.kcfgc
new file mode 100644 (file)
index 0000000..d0ae0a3
--- /dev/null
@@ -0,0 +1,12 @@
+# Code generation options for kconfig_compiler_kf6
+File=test3a.kcfg
+NameSpace=TestNameSpace::InnerNameSpace
+ClassName=Test3a
+#Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test3amain.cpp b/autotests/kconfig_compiler/test3amain.cpp
new file mode 100644 (file)
index 0000000..c273dee
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+    SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test3a.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNameSpace::InnerNameSpace::Test3a t = TestNameSpace::InnerNameSpace::Test3a();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test3main.cpp b/autotests/kconfig_compiler/test3main.cpp
new file mode 100644 (file)
index 0000000..b9c4605
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+#include "test3.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNameSpace::Test3 t = TestNameSpace::Test3();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test4.cpp.ref b/autotests/kconfig_compiler/test4.cpp.ref
new file mode 100644 (file)
index 0000000..e04713c
--- /dev/null
@@ -0,0 +1,185 @@
+// This file is generated by kconfig_compiler_kf6 from test4.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test4.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test4Helper
+{
+  public:
+    Test4Helper() : q(nullptr) {}
+    ~Test4Helper() { delete q; q = nullptr; }
+    Test4Helper(const Test4Helper&) = delete;
+    Test4Helper& operator=(const Test4Helper&) = delete;
+    Test4 *q;
+};
+Q_GLOBAL_STATIC(Test4Helper, s_globalTest4)
+Test4 *Test4::self()
+{
+  if (!s_globalTest4()->q) {
+    new Test4;
+    s_globalTest4()->q->read();
+  }
+
+  return s_globalTest4()->q;
+}
+
+const char* const Test4::EnumButton::enumToString[] = { "right", "mid", "left" };
+
+Test4::Test4( )
+  : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+{
+  Q_ASSERT(!s_globalTest4()->q);
+  s_globalTest4()->q = this;
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };
+  KConfigSkeleton::ItemColor  *itemColor[4];
+  itemColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #0" ), mColor[0], defaultColor[0] );
+  addItem( itemColor[0], QStringLiteral( "Color0" ) );
+  itemColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #1" ), mColor[1], defaultColor[1] );
+  addItem( itemColor[1], QStringLiteral( "Color1" ) );
+  itemColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #2" ), mColor[2], defaultColor[2] );
+  addItem( itemColor[2], QStringLiteral( "Color2" ) );
+  itemColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #3" ), mColor[3], defaultColor[3] );
+  addItem( itemColor[3], QStringLiteral( "Color3" ) );
+  QList<KConfigSkeleton::ItemEnum::Choice> valuesMouseAction;
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Encrypt");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Decrypt");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("CrashNBurn");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("PumpNDump");
+    valuesMouseAction.append( choice );
+  }
+  KConfigSkeleton::ItemEnum  *itemMouseAction[3];
+  itemMouseAction[0] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "right_mouse_action" ), mMouseAction[0], valuesMouseAction, EnumMouseAction::Decrypt );
+  itemMouseAction[0]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+  addItem( itemMouseAction[0], QStringLiteral( "MouseActionright" ) );
+  itemMouseAction[1] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "mid_mouse_action" ), mMouseAction[1], valuesMouseAction, EnumMouseAction::Encrypt );
+  itemMouseAction[1]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+  addItem( itemMouseAction[1], QStringLiteral( "MouseActionmid" ) );
+  itemMouseAction[2] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "left_mouse_action" ), mMouseAction[2], valuesMouseAction, EnumMouseAction::PumpNDump );
+  itemMouseAction[2]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+  addItem( itemMouseAction[2], QStringLiteral( "MouseActionleft" ) );
+  KConfigSkeleton::ItemColor  *itemGrayColor[11];
+  itemGrayColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #0" ), mGrayColor[0], 
+      QColor::fromRgbF(0 / 10.0, 0 / 10.0, 0 / 10.0)
+       );
+  addItem( itemGrayColor[0], QStringLiteral( "GrayColor0" ) );
+  itemGrayColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #1" ), mGrayColor[1], 
+      QColor::fromRgbF(1 / 10.0, 1 / 10.0, 1 / 10.0)
+       );
+  addItem( itemGrayColor[1], QStringLiteral( "GrayColor1" ) );
+  itemGrayColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #2" ), mGrayColor[2], 
+      QColor::fromRgbF(2 / 10.0, 2 / 10.0, 2 / 10.0)
+       );
+  addItem( itemGrayColor[2], QStringLiteral( "GrayColor2" ) );
+  itemGrayColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #3" ), mGrayColor[3], 
+      QColor::fromRgbF(3 / 10.0, 3 / 10.0, 3 / 10.0)
+       );
+  addItem( itemGrayColor[3], QStringLiteral( "GrayColor3" ) );
+  itemGrayColor[4] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #4" ), mGrayColor[4], 
+      QColor::fromRgbF(4 / 10.0, 4 / 10.0, 4 / 10.0)
+       );
+  addItem( itemGrayColor[4], QStringLiteral( "GrayColor4" ) );
+  itemGrayColor[5] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #5" ), mGrayColor[5], 
+      QColor::fromRgbF(5 / 10.0, 5 / 10.0, 5 / 10.0)
+       );
+  addItem( itemGrayColor[5], QStringLiteral( "GrayColor5" ) );
+  itemGrayColor[6] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #6" ), mGrayColor[6], 
+      QColor::fromRgbF(6 / 10.0, 6 / 10.0, 6 / 10.0)
+       );
+  addItem( itemGrayColor[6], QStringLiteral( "GrayColor6" ) );
+  itemGrayColor[7] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #7" ), mGrayColor[7], 
+      QColor::fromRgbF(7 / 10.0, 7 / 10.0, 7 / 10.0)
+       );
+  addItem( itemGrayColor[7], QStringLiteral( "GrayColor7" ) );
+  itemGrayColor[8] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #8" ), mGrayColor[8], 
+      QColor::fromRgbF(8 / 10.0, 8 / 10.0, 8 / 10.0)
+       );
+  addItem( itemGrayColor[8], QStringLiteral( "GrayColor8" ) );
+  itemGrayColor[9] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #9" ), mGrayColor[9], 
+      QColor::fromRgbF(9 / 10.0, 9 / 10.0, 9 / 10.0)
+       );
+  addItem( itemGrayColor[9], QStringLiteral( "GrayColor9" ) );
+  itemGrayColor[10] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #10" ), mGrayColor[10], 
+      QColor::fromRgbF(10 / 10.0, 10 / 10.0, 10 / 10.0)
+       );
+  addItem( itemGrayColor[10], QStringLiteral( "GrayColor10" ) );
+  KConfigSkeleton::ItemString  *itemColorString[11];
+  itemColorString[0] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #0" ), mColorString[0], 
+      QString::number(0)
+       );
+  addItem( itemColorString[0], QStringLiteral( "ColorString0" ) );
+  itemColorString[1] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #1" ), mColorString[1], 
+      QString::number(1)
+       );
+  addItem( itemColorString[1], QStringLiteral( "ColorString1" ) );
+  itemColorString[2] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #2" ), mColorString[2], 
+      QString::number(2)
+       );
+  addItem( itemColorString[2], QStringLiteral( "ColorString2" ) );
+  itemColorString[3] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #3" ), mColorString[3], 
+      QString::number(3)
+       );
+  addItem( itemColorString[3], QStringLiteral( "ColorString3" ) );
+  itemColorString[4] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #4" ), mColorString[4], 
+      QString::number(4)
+       );
+  addItem( itemColorString[4], QStringLiteral( "ColorString4" ) );
+  itemColorString[5] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #5" ), mColorString[5], 
+      QString::number(5)
+       );
+  addItem( itemColorString[5], QStringLiteral( "ColorString5" ) );
+  itemColorString[6] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #6" ), mColorString[6], 
+      QString::number(6)
+       );
+  addItem( itemColorString[6], QStringLiteral( "ColorString6" ) );
+  itemColorString[7] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #7" ), mColorString[7], 
+      QString::number(7)
+       );
+  addItem( itemColorString[7], QStringLiteral( "ColorString7" ) );
+  itemColorString[8] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #8" ), mColorString[8], 
+      QString::number(8)
+       );
+  addItem( itemColorString[8], QStringLiteral( "ColorString8" ) );
+  itemColorString[9] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #9" ), mColorString[9], 
+      QString::number(9)
+       );
+  addItem( itemColorString[9], QStringLiteral( "ColorString9" ) );
+  itemColorString[10] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #10" ), mColorString[10], 
+      QString::number(10)
+       );
+  addItem( itemColorString[10], QStringLiteral( "ColorString10" ) );
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test4::~Test4()
+{
+  if (s_globalTest4.exists() && !s_globalTest4.isDestroyed()) {
+    s_globalTest4()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test4.h.ref b/autotests/kconfig_compiler/test4.h.ref
new file mode 100644 (file)
index 0000000..938babb
--- /dev/null
@@ -0,0 +1,225 @@
+// This file is generated by kconfig_compiler_kf6 from test4.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST4_H
+#define TEST4_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test4 : public KConfigSkeleton
+{
+  public:
+    class EnumMouseAction
+    {
+      public:
+      enum type { Encrypt, Decrypt, CrashNBurn, PumpNDump, COUNT };
+    };
+    class EnumButton
+    {
+      public:
+      enum type { right, mid, left, COUNT };
+      static const char* const enumToString[];
+    };
+
+    static Test4 *self();
+    ~Test4() override;
+
+    /**
+      Set Block colors.
+    */
+    static
+    void setColor( int i, const QColor & v )
+    {
+      if (!self()->isColorImmutable( i ))
+        self()->mColor[i] = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    static
+    QColor color( int i )
+    {
+      return self()->mColor[i];
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    static
+    bool isColorImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "Color%1" ).arg( i ) );
+    }
+
+    /**
+      Set Mouse actions.
+    */
+    static
+    void setMouseAction( int i, int v )
+    {
+      if (!self()->isMouseActionImmutable( i ))
+        self()->mMouseAction[i] = v;
+    }
+
+    /**
+      Get Mouse actions.
+    */
+    static
+    int mouseAction( int i )
+    {
+      return self()->mMouseAction[i];
+    }
+
+    /**
+      Is Mouse actions. Immutable
+    */
+    static
+    bool isMouseActionImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "MouseAction%1" ).arg( QLatin1String( EnumButton::enumToString[i] ) ) );
+    }
+
+    /**
+      Set Gray colors.
+    */
+    static
+    void setGrayColor( int i, const QColor & v )
+    {
+      if (!self()->isGrayColorImmutable( i ))
+        self()->mGrayColor[i] = v;
+    }
+
+    /**
+      Get Gray colors.
+    */
+    static
+    QColor grayColor( int i )
+    {
+      return self()->mGrayColor[i];
+    }
+
+    /**
+      Is Gray colors. Immutable
+    */
+    static
+    bool isGrayColorImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "GrayColor%1" ).arg( i ) );
+    }
+
+    /**
+      Set Gray colors as string.
+    */
+    static
+    void setColorString( int i, const QString & v )
+    {
+      if (!self()->isColorStringImmutable( i ))
+        self()->mColorString[i] = v;
+    }
+
+    /**
+      Get Gray colors as string.
+    */
+    static
+    QString colorString( int i )
+    {
+      return self()->mColorString[i];
+    }
+
+    /**
+      Is Gray colors as string. Immutable
+    */
+    static
+    bool isColorStringImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "ColorString%1" ).arg( i ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    static
+    void setFooBar( const QString & v )
+    {
+      if (!self()->isFooBarImmutable())
+        self()->mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    static
+    QString fooBar()
+    {
+      return self()->mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    static
+    bool isFooBarImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    static
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!self()->isAgeImmutable())
+        self()->mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    static
+    int age()
+    {
+      return self()->mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    static
+    bool isAgeImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    Test4();
+    friend class Test4Helper;
+
+
+    // Foo
+    QColor mColor[4];
+    int mMouseAction[3];
+    QColor mGrayColor[11];
+    QString mColorString[11];
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test4.kcfg b/autotests/kconfig_compiler/test4.kcfg
new file mode 100644 (file)
index 0000000..4b40fda
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test4rc"/>
+
+  <group name="Foo">
+    <entry name="Color$(Number)" type="Color" key="color #$(Number)">
+      <parameter name="Number" type="Int" max="3"/>
+      <label>Block colors.</label>
+      <code>QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };</code>
+      <default code="true">defaultColor[$(Number)]</default>
+    </entry>
+    <entry name="MouseAction$(Button)" type="Enum" key="$(Button)_mouse_action">
+      <parameter name="Button" type="Enum">
+        <values>
+          <value>right</value>
+          <value>mid</value>
+          <value>left</value>
+        </values>
+      </parameter>
+      <label>Mouse actions.</label>
+      <choices>
+        <choice name="Encrypt"/>
+        <choice name="Decrypt"/>
+        <choice name="CrashNBurn" value="Crash and Burn"/>
+        <choice name="PumpNDump"/>
+      </choices>
+      <default param="right">Decrypt</default>
+      <default param="mid">Encrypt</default>
+      <default param="left">PumpNDump</default>
+    </entry>
+    <entry name="GrayColor$(Number)" type="Color" key="gray color #$(Number)">
+      <parameter name="Number" type="Int" max="10"/>
+      <label>Gray colors.</label>
+      <default code="true">
+      QColor::fromRgbF($(Number) / 10.0, $(Number) / 10.0, $(Number) / 10.0)
+      </default>
+    </entry>
+    <entry name="ColorString$(Number)" type="String" key="color string #$(Number)">
+      <parameter name="Number" type="Int" max="10"/>
+      <label>Gray colors as string.</label>
+      <default code="true">
+      QString::number($(Number))
+      </default>
+    </entry>
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test4.kcfgc b/autotests/kconfig_compiler/test4.kcfgc
new file mode 100644 (file)
index 0000000..977b2be
--- /dev/null
@@ -0,0 +1,11 @@
+# Code generation options for kconfig_compiler_kf6
+File=test4.kcfg
+ClassName=Test4
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=false
+ItemAccessors=false
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test4main.cpp b/autotests/kconfig_compiler/test4main.cpp
new file mode 100644 (file)
index 0000000..fa9bf7d
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+    SPDX-FileCopyrightText: 2003, 2004 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test4.h"
+#include <QFile>
+#include <QGuiApplication>
+#include <QStandardPaths>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    {
+        KConfig initialConfig(QStringLiteral("test4rc"));
+        KConfigGroup group = initialConfig.group(QStringLiteral("Foo"));
+        group.writeEntry(QStringLiteral("foo bar"), QStringLiteral("Value"));
+    }
+    Test4 *t = Test4::self();
+    const bool ok = QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/test4rc"});
+    if (!ok) {
+        qWarning() << "config file was not created!";
+    }
+    if (t->fooBar() != QLatin1String("Value")) {
+        qWarning() << "wrong value for foo bar:" << t->fooBar();
+    }
+    delete t;
+    return ok ? 0 : 1;
+}
diff --git a/autotests/kconfig_compiler/test5.cpp.ref b/autotests/kconfig_compiler/test5.cpp.ref
new file mode 100644 (file)
index 0000000..07abf32
--- /dev/null
@@ -0,0 +1,96 @@
+// This file is generated by kconfig_compiler_kf6 from test5.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test5.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test5Helper
+{
+  public:
+    Test5Helper() : q(nullptr) {}
+    ~Test5Helper() { delete q; q = nullptr; }
+    Test5Helper(const Test5Helper&) = delete;
+    Test5Helper& operator=(const Test5Helper&) = delete;
+    Test5 *q;
+};
+Q_GLOBAL_STATIC(Test5Helper, s_globalTest5)
+Test5 *Test5::self()
+{
+  if (!s_globalTest5()->q) {
+    new Test5;
+    s_globalTest5()->q->read();
+  }
+
+  return s_globalTest5()->q;
+}
+
+const char* const Test5::EnumButtonToString[] = { "right", "mid", "left" };
+
+Test5::Test5( QObject *parent )
+  : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+{
+  setParent(parent);
+  Q_ASSERT(!s_globalTest5()->q);
+  s_globalTest5()->q = this;
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };
+  KConfigSkeleton::ItemColor  *itemColor[4];
+  itemColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #0" ), mColor[0], defaultColor[0] );
+  addItem( itemColor[0], QStringLiteral( "Color0" ) );
+  itemColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #1" ), mColor[1], defaultColor[1] );
+  addItem( itemColor[1], QStringLiteral( "Color1" ) );
+  itemColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #2" ), mColor[2], defaultColor[2] );
+  addItem( itemColor[2], QStringLiteral( "Color2" ) );
+  itemColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #3" ), mColor[3], defaultColor[3] );
+  addItem( itemColor[3], QStringLiteral( "Color3" ) );
+  QList<KConfigSkeleton::ItemEnum::Choice> valuesMouseAction;
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Encrypt");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("Decrypt");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("CrashNBurn");
+    valuesMouseAction.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("PumpNDump");
+    valuesMouseAction.append( choice );
+  }
+  KConfigSkeleton::ItemEnum  *itemMouseAction[3];
+  itemMouseAction[0] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "right_mouse_action" ), mMouseAction[0], valuesMouseAction, Decrypt );
+  itemMouseAction[0]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+  addItem( itemMouseAction[0], QStringLiteral( "MouseActionright" ) );
+  itemMouseAction[1] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "mid_mouse_action" ), mMouseAction[1], valuesMouseAction, Encrypt );
+  itemMouseAction[1]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+  addItem( itemMouseAction[1], QStringLiteral( "MouseActionmid" ) );
+  itemMouseAction[2] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "left_mouse_action" ), mMouseAction[2], valuesMouseAction, PumpNDump );
+  itemMouseAction[2]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+  addItem( itemMouseAction[2], QStringLiteral( "MouseActionleft" ) );
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test5::~Test5()
+{
+  if (s_globalTest5.exists() && !s_globalTest5.isDestroyed()) {
+    s_globalTest5()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test5.h.ref b/autotests/kconfig_compiler/test5.h.ref
new file mode 100644 (file)
index 0000000..e116552
--- /dev/null
@@ -0,0 +1,159 @@
+// This file is generated by kconfig_compiler_kf6 from test5.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST5_H
+#define TEST5_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test5 : public KConfigSkeleton
+{
+  public:
+    enum EnumMouseAction { Encrypt, Decrypt, CrashNBurn, PumpNDump };
+    enum EnumButton { right, mid, left };
+    static const char* const EnumButtonToString[];
+
+    static Test5 *self();
+    ~Test5() override;
+
+    /**
+      Set Block colors.
+    */
+    static
+    void setColor( int i, const QColor & v )
+    {
+      if (!self()->isColorImmutable( i ))
+        self()->mColor[i] = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    static
+    QColor color( int i )
+    {
+      return self()->mColor[i];
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    static
+    bool isColorImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "Color%1" ).arg( i ) );
+    }
+
+    /**
+      Set Mouse actions.
+    */
+    static
+    void setMouseAction( int i, int v )
+    {
+      if (!self()->isMouseActionImmutable( i ))
+        self()->mMouseAction[i] = v;
+    }
+
+    /**
+      Get Mouse actions.
+    */
+    static
+    int mouseAction( int i )
+    {
+      return self()->mMouseAction[i];
+    }
+
+    /**
+      Is Mouse actions. Immutable
+    */
+    static
+    bool isMouseActionImmutable( int i )
+    {
+      return self()->isImmutable( QStringLiteral( "MouseAction%1" ).arg( QLatin1String( EnumButtonToString[i] ) ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    static
+    void setFooBar( const QString & v )
+    {
+      if (!self()->isFooBarImmutable())
+        self()->mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    static
+    QString fooBar()
+    {
+      return self()->mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    static
+    bool isFooBarImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    static
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!self()->isAgeImmutable())
+        self()->mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    static
+    int age()
+    {
+      return self()->mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    static
+    bool isAgeImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    Test5(QObject *parent = nullptr);
+    friend class Test5Helper;
+
+
+    // Foo
+    QColor mColor[4];
+    int mMouseAction[3];
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test5.kcfg b/autotests/kconfig_compiler/test5.kcfg
new file mode 100644 (file)
index 0000000..4b89450
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test4rc"/>
+
+  <group name="Foo">
+    <entry name="Color$(Number)" type="Color" key="color #$(Number)">
+      <parameter name="Number" type="Int" max="3"/>
+      <label>Block colors.</label>
+      <code>QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };</code>
+      <default code="true">defaultColor[$(Number)]</default>
+    </entry>
+    <entry name="MouseAction$(Button)" type="Enum" key="$(Button)_mouse_action">
+      <parameter name="Button" type="Enum">
+        <values>
+          <value>right</value>
+          <value>mid</value>
+          <value>left</value>
+        </values>
+      </parameter>
+      <label>Mouse actions.</label>
+      <choices>
+        <choice name="Encrypt"/>
+        <choice name="Decrypt"/>
+        <choice name="CrashNBurn" value="Crash'n Burn"/>
+        <choice name="PumpNDump"/>
+      </choices>
+      <default param="right">Decrypt</default>
+      <default param="mid">Encrypt</default>
+      <default param="left">PumpNDump</default>
+    </entry>
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test5.kcfgc b/autotests/kconfig_compiler/test5.kcfgc
new file mode 100644 (file)
index 0000000..bd4184b
--- /dev/null
@@ -0,0 +1,12 @@
+# Code generation options for kconfig_compiler_kf6
+File=test5.kcfg
+ClassName=Test5
+ParentInConstructor=true
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test5main.cpp b/autotests/kconfig_compiler/test5main.cpp
new file mode 100644 (file)
index 0000000..d3df1c2
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test5.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test5 *t = Test5::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test6.cpp.ref b/autotests/kconfig_compiler/test6.cpp.ref
new file mode 100644 (file)
index 0000000..f101d75
--- /dev/null
@@ -0,0 +1,31 @@
+// This file is generated by kconfig_compiler_kf6 from test6.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test6.h"
+
+Test6::Test6( const QString & Number )
+  : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+  , mParamNumber(Number)
+{
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+  KConfigSkeleton::ItemColor  *itemColor;
+  itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+  addItem( itemColor, QStringLiteral( "Color" ) );
+
+  setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test6::~Test6()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test6.h.ref b/autotests/kconfig_compiler/test6.h.ref
new file mode 100644 (file)
index 0000000..6c44669
--- /dev/null
@@ -0,0 +1,118 @@
+// This file is generated by kconfig_compiler_kf6 from test6.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST6_H
+#define TEST6_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test6 : public KConfigSkeleton
+{
+  public:
+
+    Test6( const QString & Number );
+    ~Test6() override;
+
+    /**
+      Set Block colors.
+    */
+    void setColor( const QColor & v )
+    {
+      if (!isColorImmutable())
+        mColor = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    QColor color() const
+    {
+      return mColor;
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    bool isColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Color" ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    void setFooBar( const QString & v )
+    {
+      if (!isFooBarImmutable())
+        mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    QString fooBar() const
+    {
+      return mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    bool isFooBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!isAgeImmutable())
+        mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    int age() const
+    {
+      return mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    bool isAgeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    QString mParamNumber;
+
+    // Foo
+    QColor mColor;
+
+    // Bar$(Number)
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test6.kcfg b/autotests/kconfig_compiler/test6.kcfg
new file mode 100644 (file)
index 0000000..e59fa88
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test4rc">
+      <parameter name="Number" type="String"/>
+  </kcfgfile>
+
+  <group name="Foo">
+    <entry name="Color" type="Color" key="color #$(Number)">
+      <label>Block colors.</label>
+      <default>red</default>
+    </entry>
+  </group>
+  <group name="Bar$(Number)">
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test6.kcfgc b/autotests/kconfig_compiler/test6.kcfgc
new file mode 100644 (file)
index 0000000..54ffa60
--- /dev/null
@@ -0,0 +1,11 @@
+# Code generation options for kconfig_compiler_kf6
+File=test6.kcfg
+ClassName=Test6
+Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test6main.cpp b/autotests/kconfig_compiler/test6main.cpp
new file mode 100644 (file)
index 0000000..2053b1d
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test6.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test6 t = Test6(QString());
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test7.cpp.ref b/autotests/kconfig_compiler/test7.cpp.ref
new file mode 100644 (file)
index 0000000..7055c8c
--- /dev/null
@@ -0,0 +1,31 @@
+// This file is generated by kconfig_compiler_kf6 from test7.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test7.h"
+
+Test7::Test7( int Number )
+  : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+  , mParamNumber(Number)
+{
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+  KConfigSkeleton::ItemColor  *itemColor;
+  itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+  addItem( itemColor, QStringLiteral( "Color" ) );
+
+  setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test7::~Test7()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test7.h.ref b/autotests/kconfig_compiler/test7.h.ref
new file mode 100644 (file)
index 0000000..65166aa
--- /dev/null
@@ -0,0 +1,118 @@
+// This file is generated by kconfig_compiler_kf6 from test7.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST7_H
+#define TEST7_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test7 : public KConfigSkeleton
+{
+  public:
+
+    Test7( int Number );
+    ~Test7() override;
+
+    /**
+      Set Block colors.
+    */
+    void setColor( const QColor & v )
+    {
+      if (!isColorImmutable())
+        mColor = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    QColor color() const
+    {
+      return mColor;
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    bool isColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Color" ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    void setFooBar( const QString & v )
+    {
+      if (!isFooBarImmutable())
+        mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    QString fooBar() const
+    {
+      return mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    bool isFooBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!isAgeImmutable())
+        mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    int age() const
+    {
+      return mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    bool isAgeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    int mParamNumber;
+
+    // Foo
+    QColor mColor;
+
+    // Bar$(Number)
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test7.kcfg b/autotests/kconfig_compiler/test7.kcfg
new file mode 100644 (file)
index 0000000..0a7fd32
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test7rc">
+      <parameter name="Number" type="Int"/>
+  </kcfgfile>
+
+  <group name="Foo">
+    <entry name="Color" type="Color" key="color #$(Number)">
+      <label>Block colors.</label>
+      <default>red</default>
+    </entry>
+  </group>
+  <group name="Bar$(Number)">
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test7.kcfgc b/autotests/kconfig_compiler/test7.kcfgc
new file mode 100644 (file)
index 0000000..4aeca65
--- /dev/null
@@ -0,0 +1,11 @@
+# Code generation options for kconfig_compiler_kf6
+File=test7.kcfg
+ClassName=Test7
+Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test7main.cpp b/autotests/kconfig_compiler/test7main.cpp
new file mode 100644 (file)
index 0000000..035face
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test7.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test7 t = Test7(42);
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test8a.cpp.ref b/autotests/kconfig_compiler/test8a.cpp.ref
new file mode 100644 (file)
index 0000000..a4a69c9
--- /dev/null
@@ -0,0 +1,23 @@
+// This file is generated by kconfig_compiler_kf6 from test8a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8a.h"
+
+Test8a::Test8a( KSharedConfig::Ptr config, QObject *parent )
+  : KConfigSkeleton( std::move( config ) )
+{
+  setParent(parent);
+  setCurrentGroup( QStringLiteral( "Group" ) );
+
+  KConfigSkeleton::ItemFont  *itemFont;
+  itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "Font" ), mFont, QFont() );
+  addItem( itemFont, QStringLiteral( "Font" ) );
+  KConfigSkeleton::ItemFont  *itemTitleFont;
+  itemTitleFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TitleFont" ), mTitleFont, QFont() );
+  addItem( itemTitleFont, QStringLiteral( "TitleFont" ) );
+}
+
+Test8a::~Test8a()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test8a.h.ref b/autotests/kconfig_compiler/test8a.h.ref
new file mode 100644 (file)
index 0000000..e95fa6b
--- /dev/null
@@ -0,0 +1,78 @@
+// This file is generated by kconfig_compiler_kf6 from test8a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8A_H
+#define TEST8A_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8a : public KConfigSkeleton
+{
+  public:
+
+    Test8a( KSharedConfig::Ptr config = KSharedConfig::openConfig(), QObject *parent = nullptr );
+    ~Test8a() override;
+
+    /**
+      Set Font
+    */
+    void setFont( const QFont & v )
+    {
+      if (!isFontImmutable())
+        mFont = v;
+    }
+
+    /**
+      Get Font
+    */
+    QFont font() const
+    {
+      return mFont;
+    }
+
+    /**
+      Is Font Immutable
+    */
+    bool isFontImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Font" ) );
+    }
+
+    /**
+      Set TitleFont
+    */
+    void setTitleFont( const QFont & v )
+    {
+      if (!isTitleFontImmutable())
+        mTitleFont = v;
+    }
+
+    /**
+      Get TitleFont
+    */
+    QFont titleFont() const
+    {
+      return mTitleFont;
+    }
+
+    /**
+      Is TitleFont Immutable
+    */
+    bool isTitleFontImmutable() const
+    {
+      return isImmutable( QStringLiteral( "TitleFont" ) );
+    }
+
+  protected:
+
+    // Group
+    QFont mFont;
+    QFont mTitleFont;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test8a.kcfg b/autotests/kconfig_compiler/test8a.kcfg
new file mode 100644 (file)
index 0000000..24038a6
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile arg="true"/>
+
+  <group name="Group">
+    <entry name="Font" type="Font">
+      <default code="true">QFont()</default>
+    </entry>
+
+    <entry name="TitleFont" type="Font">
+      <default code="true">QFont()</default>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test8a.kcfgc b/autotests/kconfig_compiler/test8a.kcfgc
new file mode 100644 (file)
index 0000000..90abfcb
--- /dev/null
@@ -0,0 +1,4 @@
+File=test8a.kcfg
+ClassName=Test8a
+ParentInConstructor=true
+Mutators=true
diff --git a/autotests/kconfig_compiler/test8b.cpp.ref b/autotests/kconfig_compiler/test8b.cpp.ref
new file mode 100644 (file)
index 0000000..599cc18
--- /dev/null
@@ -0,0 +1,56 @@
+// This file is generated by kconfig_compiler_kf6 from test8b.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8b.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test8bHelper
+{
+  public:
+    Test8bHelper() : q(nullptr) {}
+    ~Test8bHelper() { delete q; q = nullptr; }
+    Test8bHelper(const Test8bHelper&) = delete;
+    Test8bHelper& operator=(const Test8bHelper&) = delete;
+    Test8b *q;
+};
+Q_GLOBAL_STATIC(Test8bHelper, s_globalTest8b)
+Test8b *Test8b::self()
+{
+  if (!s_globalTest8b()->q) {
+    new Test8b;
+    s_globalTest8b()->q->read();
+  }
+
+  return s_globalTest8b()->q;
+}
+
+Test8b::Test8b( )
+  : Test8a()
+{
+  Q_ASSERT(!s_globalTest8b()->q);
+  s_globalTest8b()->q = this;
+  setCurrentGroup( QStringLiteral( "Group8b1" ) );
+
+  Test8a::ItemUInt  *itemSomething;
+  itemSomething = new Test8a::ItemUInt( currentGroup(), QStringLiteral( "Something" ), mSomething, 60 );
+  addItem( itemSomething, QStringLiteral( "Something" ) );
+
+  setCurrentGroup( QStringLiteral( "Group8b2" ) );
+
+  Test8a::ItemBool  *itemFooBoo;
+  itemFooBoo = new Test8a::ItemBool( currentGroup(), QStringLiteral( "FooBoo" ), mFooBoo, false );
+  addItem( itemFooBoo, QStringLiteral( "FooBoo" ) );
+  Test8a::ItemUInt  *itemPort;
+  itemPort = new Test8a::ItemUInt( currentGroup(), QStringLiteral( "Port" ), mPort, 1000 );
+  addItem( itemPort, QStringLiteral( "Port" ) );
+}
+
+Test8b::~Test8b()
+{
+  if (s_globalTest8b.exists() && !s_globalTest8b.isDestroyed()) {
+    s_globalTest8b()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test8b.h.ref b/autotests/kconfig_compiler/test8b.h.ref
new file mode 100644 (file)
index 0000000..f2e7d6f
--- /dev/null
@@ -0,0 +1,119 @@
+// This file is generated by kconfig_compiler_kf6 from test8b.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8B_H
+#define TEST8B_H
+
+#include <test8a.h>
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8b : public Test8a
+{
+  public:
+
+    static Test8b *self();
+    ~Test8b() override;
+
+    /**
+      Set Something
+    */
+    static
+    void setSomething( uint v )
+    {
+      if (!self()->isSomethingImmutable())
+        self()->mSomething = v;
+    }
+
+    /**
+      Get Something
+    */
+    static
+    uint something()
+    {
+      return self()->mSomething;
+    }
+
+    /**
+      Is Something Immutable
+    */
+    static
+    bool isSomethingImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "Something" ) );
+    }
+
+    /**
+      Set FooBoo
+    */
+    static
+    void setFooBoo( bool v )
+    {
+      if (!self()->isFooBooImmutable())
+        self()->mFooBoo = v;
+    }
+
+    /**
+      Get FooBoo
+    */
+    static
+    bool fooBoo()
+    {
+      return self()->mFooBoo;
+    }
+
+    /**
+      Is FooBoo Immutable
+    */
+    static
+    bool isFooBooImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "FooBoo" ) );
+    }
+
+    /**
+      Set Port
+    */
+    static
+    void setPort( uint v )
+    {
+      if (!self()->isPortImmutable())
+        self()->mPort = v;
+    }
+
+    /**
+      Get Port
+    */
+    static
+    uint port()
+    {
+      return self()->mPort;
+    }
+
+    /**
+      Is Port Immutable
+    */
+    static
+    bool isPortImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "Port" ) );
+    }
+
+  protected:
+    Test8b();
+    friend class Test8bHelper;
+
+
+    // Group8b1
+    uint mSomething;
+
+    // Group8b2
+    bool mFooBoo;
+    uint mPort;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test8b.kcfg b/autotests/kconfig_compiler/test8b.kcfg
new file mode 100644 (file)
index 0000000..3e203a1
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <group name="Group8b1">
+    <entry name="Something" type="UInt">
+      <default>60</default>
+    </entry>
+  </group>
+
+  <group name="Group8b2">
+    <entry name="FooBoo" type="Bool">
+      <default>false</default>
+    </entry>
+
+    <entry name="Port" type="UInt">
+      <default>1000</default>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test8b.kcfgc b/autotests/kconfig_compiler/test8b.kcfgc
new file mode 100644 (file)
index 0000000..7be0552
--- /dev/null
@@ -0,0 +1,6 @@
+File=test8b.kcfg
+ClassName=Test8b
+Mutators=true
+Singleton=true
+IncludeFiles=test8a.h
+Inherits=Test8a
diff --git a/autotests/kconfig_compiler/test8c.cpp.ref b/autotests/kconfig_compiler/test8c.cpp.ref
new file mode 100644 (file)
index 0000000..7405da0
--- /dev/null
@@ -0,0 +1,70 @@
+// This file is generated by kconfig_compiler_kf6 from test8c.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8c.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+#include <QDebug>
+
+class Test8cHelper
+{
+  public:
+    Test8cHelper() : q(nullptr) {}
+    ~Test8cHelper() { delete q; q = nullptr; }
+    Test8cHelper(const Test8cHelper&) = delete;
+    Test8cHelper& operator=(const Test8cHelper&) = delete;
+    Test8c *q;
+};
+Q_GLOBAL_STATIC(Test8cHelper, s_globalTest8c)
+Test8c *Test8c::self()
+{
+  if (!s_globalTest8c()->q)
+     qFatal("you need to call Test8c::instance before using");
+  return s_globalTest8c()->q;
+}
+
+void Test8c::instance(const QString& cfgfilename)
+{
+  if (s_globalTest8c()->q) {
+     qDebug() << "Test8c::instance called after the first use - ignoring";
+     return;
+  }
+  new Test8c(KSharedConfig::openConfig(cfgfilename));
+  s_globalTest8c()->q->read();
+}
+
+void Test8c::instance(KSharedConfig::Ptr config)
+{
+  if (s_globalTest8c()->q) {
+     qDebug() << "Test8c::instance called after the first use - ignoring";
+     return;
+  }
+  new Test8c(std::move(config));
+  s_globalTest8c()->q->read();
+}
+
+Test8c::Test8c( KSharedConfig::Ptr config, QObject *parent )
+  : KConfigSkeleton( std::move( config ) )
+{
+  setParent(parent);
+  Q_ASSERT(!s_globalTest8c()->q);
+  s_globalTest8c()->q = this;
+  setCurrentGroup( QStringLiteral( "Group" ) );
+
+  KConfigSkeleton::ItemFont  *itemFont;
+  itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "Font" ), mFont, QFont() );
+  addItem( itemFont, QStringLiteral( "Font" ) );
+  KConfigSkeleton::ItemFont  *itemTitleFont;
+  itemTitleFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TitleFont" ), mTitleFont, QFont() );
+  addItem( itemTitleFont, QStringLiteral( "TitleFont" ) );
+}
+
+Test8c::~Test8c()
+{
+  if (s_globalTest8c.exists() && !s_globalTest8c.isDestroyed()) {
+    s_globalTest8c()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test8c.h.ref b/autotests/kconfig_compiler/test8c.h.ref
new file mode 100644 (file)
index 0000000..6367683
--- /dev/null
@@ -0,0 +1,88 @@
+// This file is generated by kconfig_compiler_kf6 from test8c.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8C_H
+#define TEST8C_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8c : public KConfigSkeleton
+{
+  public:
+
+    static Test8c *self();
+    static void instance(const QString& cfgfilename);
+    static void instance(KSharedConfig::Ptr config);
+    ~Test8c() override;
+
+    /**
+      Set Font
+    */
+    static
+    void setFont( const QFont & v )
+    {
+      if (!self()->isFontImmutable())
+        self()->mFont = v;
+    }
+
+    /**
+      Get Font
+    */
+    static
+    QFont font()
+    {
+      return self()->mFont;
+    }
+
+    /**
+      Is Font Immutable
+    */
+    static
+    bool isFontImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "Font" ) );
+    }
+
+    /**
+      Set TitleFont
+    */
+    static
+    void setTitleFont( const QFont & v )
+    {
+      if (!self()->isTitleFontImmutable())
+        self()->mTitleFont = v;
+    }
+
+    /**
+      Get TitleFont
+    */
+    static
+    QFont titleFont()
+    {
+      return self()->mTitleFont;
+    }
+
+    /**
+      Is TitleFont Immutable
+    */
+    static
+    bool isTitleFontImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "TitleFont" ) );
+    }
+
+  protected:
+    Test8c(KSharedConfig::Ptr config, QObject *parent = nullptr);
+    friend class Test8cHelper;
+
+
+    // Group
+    QFont mFont;
+    QFont mTitleFont;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test8c.kcfg b/autotests/kconfig_compiler/test8c.kcfg
new file mode 100644 (file)
index 0000000..24038a6
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile arg="true"/>
+
+  <group name="Group">
+    <entry name="Font" type="Font">
+      <default code="true">QFont()</default>
+    </entry>
+
+    <entry name="TitleFont" type="Font">
+      <default code="true">QFont()</default>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test8c.kcfgc b/autotests/kconfig_compiler/test8c.kcfgc
new file mode 100644 (file)
index 0000000..7c1ba85
--- /dev/null
@@ -0,0 +1,5 @@
+File=test8c.kcfg
+ClassName=Test8c
+ParentInConstructor=true
+Mutators=true
+Singleton=true
diff --git a/autotests/kconfig_compiler/test8main.cpp b/autotests/kconfig_compiler/test8main.cpp
new file mode 100644 (file)
index 0000000..959efe2
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+    SPDX-FileCopyrightText: 2005 Michael Brade <brade@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test8a.h"
+#include "test8b.h"
+#include "test8c.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test8a *config1 = new Test8a(KSharedConfig::openConfig(QString()));
+    Test8a *config2 = new Test8a();
+    Test8b::self();
+    Test8c::instance(KSharedConfig::openConfig(QString()));
+    Test8c::self();
+    delete config1;
+    delete config2;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test9.cpp.ref b/autotests/kconfig_compiler/test9.cpp.ref
new file mode 100644 (file)
index 0000000..f0b23fc
--- /dev/null
@@ -0,0 +1,35 @@
+// This file is generated by kconfig_compiler_kf6 from test9.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test9.h"
+
+Test9::Test9( const QString & transport, const QString & folder )
+  : KConfigSkeleton( QStringLiteral( "examplerc" ) )
+  , mParamtransport(transport)
+  , mParamfolder(folder)
+{
+  setCurrentGroup( QStringLiteral( "MyOptionsXX" ) );
+
+  QStringList defaultMyStringList;
+  defaultMyStringList.append( QString::fromUtf8( "up" ) );
+  defaultMyStringList.append( QString::fromUtf8( "down" ) );
+
+  KConfigSkeleton::ItemStringList  *itemMyStringList;
+  itemMyStringList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringList" ), mMyStringList, defaultMyStringList );
+  addItem( itemMyStringList, QStringLiteral( "MyStringList" ) );
+  QStringList defaultMyPathList;
+  defaultMyPathList.append( QString::fromUtf8( "/home" ) );
+  defaultMyPathList.append( QString::fromUtf8( "~" ) );
+
+  KConfigSkeleton::ItemPathList  *itemMyPathList;
+  itemMyPathList = new KConfigSkeleton::ItemPathList( currentGroup(), QStringLiteral( "MyPathList" ), mMyPathList, defaultMyPathList );
+  addItem( itemMyPathList, QStringLiteral( "MyPathList" ) );
+  KConfigSkeleton::ItemPathList  *itemMyPathsList2;
+  itemMyPathsList2 = new KConfigSkeleton::ItemPathList( currentGroup(), QStringLiteral( "MyPathsList2" ), mMyPathsList2, QStringList(QString::fromLatin1("/usr/bin")) << QDir::homePath() );
+  addItem( itemMyPathsList2, QStringLiteral( "MyPathsList2" ) );
+}
+
+Test9::~Test9()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test9.h.ref b/autotests/kconfig_compiler/test9.h.ref
new file mode 100644 (file)
index 0000000..811adcb
--- /dev/null
@@ -0,0 +1,108 @@
+// This file is generated by kconfig_compiler_kf6 from test9.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST9_H
+#define TEST9_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <qdir.h>
+
+class Test9 : public KConfigSkeleton
+{
+  public:
+
+    Test9( const QString & transport, const QString & folder );
+    ~Test9() override;
+
+    /**
+      Set MyStringList
+    */
+    void setMyStringList( const QStringList & v )
+    {
+      if (!isMyStringListImmutable())
+        mMyStringList = v;
+    }
+
+    /**
+      Get MyStringList
+    */
+    QStringList myStringList() const
+    {
+      return mMyStringList;
+    }
+
+    /**
+      Is MyStringList Immutable
+    */
+    bool isMyStringListImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyStringList" ) );
+    }
+
+    /**
+      Set This is a list of paths
+    */
+    void setMyPathList( const QStringList & v )
+    {
+      if (!isMyPathListImmutable())
+        mMyPathList = v;
+    }
+
+    /**
+      Get This is a list of paths
+    */
+    QStringList myPathList() const
+    {
+      return mMyPathList;
+    }
+
+    /**
+      Is This is a list of paths Immutable
+    */
+    bool isMyPathListImmutable() const
+    {
+      return isImmutable( QStringLiteral( "MyPathList" ) );
+    }
+
+    /**
+      Set This is an additional test for PathList
+    */
+    void setMyPathsList2( const QStringList & v )
+    {
+      if (!isMyPathsList2Immutable())
+        mMyPathsList2 = v;
+    }
+
+    /**
+      Get This is an additional test for PathList
+    */
+    QStringList myPathsList2() const
+    {
+      return mMyPathsList2;
+    }
+
+    /**
+      Is This is an additional test for PathList Immutable
+    */
+    bool isMyPathsList2Immutable() const
+    {
+      return isImmutable( QStringLiteral( "MyPathsList2" ) );
+    }
+
+  protected:
+  public:
+    QString mParamtransport;
+    QString mParamfolder;
+
+    // MyOptionsXX
+    QStringList mMyStringList;
+    QStringList mMyPathList;
+    QStringList mMyPathsList2;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test9.kcfg b/autotests/kconfig_compiler/test9.kcfg
new file mode 100644 (file)
index 0000000..73e96f4
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <include>qdir.h</include>
+  <kcfgfile name="examplerc">
+    <parameter name="transport" />
+    <parameter name="folder" />
+  </kcfgfile>
+  <group name="MyOptionsXX">
+    <entry name="MyStringList" type="StringList">
+      <default>up,down</default>
+    </entry>
+    <entry name="MyPathList" type="PathList">
+      <label>This is a list of paths</label>
+      <default>/home,~</default>
+    </entry>
+    <entry name="MyPathsList2" type="PathList">
+      <label>This is an additional test for PathList</label>
+      <default code="true">QStringList(QString::fromLatin1("/usr/bin")) &lt;&lt; QDir::homePath()</default>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test9.kcfgc b/autotests/kconfig_compiler/test9.kcfgc
new file mode 100644 (file)
index 0000000..e684e47
--- /dev/null
@@ -0,0 +1,19 @@
+# Code generation options for kconfig_compiler_kf6
+ClassName=Test9
+File=test9.kcfg
+#
+# Singleton=false
+#
+# Inherits=KConfigSkeleton
+#
+# IncludeFiles=libkdepim/kpimprefs.h
+#
+MemberVariables=public
+#
+### The following line includes the file exampleprefs_base_addon.h
+### It can be used to add extra functions and variables to the
+### class.
+# CustomAdditions=true
+#
+### Provide setFooBar(int) style functions
+Mutators=true
diff --git a/autotests/kconfig_compiler/test9main.cpp b/autotests/kconfig_compiler/test9main.cpp
new file mode 100644 (file)
index 0000000..0a7256f
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+    SPDX-FileCopyrightText: 2005 Helge Deller <deller@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test9.h"
+#include <QDebug>
+#include <QDir>
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    Test9 *t = new Test9(QString(), QString());
+
+    QStringList myPathsList2 = t->myPathsList2();
+    qWarning() << myPathsList2;
+
+    // add another path
+    QStringList newlist;
+    myPathsList2 << QDir::homePath() + QLatin1String("/.kde");
+    qWarning() << myPathsList2;
+
+    t->setMyPathsList2(myPathsList2);
+    qWarning() << t->myPathsList2();
+
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_dpointer.cpp.ref b/autotests/kconfig_compiler/test_dpointer.cpp.ref
new file mode 100644 (file)
index 0000000..38b31d4
--- /dev/null
@@ -0,0 +1,421 @@
+// This file is generated by kconfig_compiler_kf6 from test_dpointer.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_dpointer.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class TestDPointerPrivate
+{
+  public:
+
+    // General
+    bool autoSave;
+    int autoSaveInterval;
+    bool confirm;
+    QString archiveFile;
+    int destination;
+
+    // Views
+    int hourSize;
+    bool selectionStartsEditor;
+
+    // KOrganizer Plugins
+    QStringList selectedPlugins;
+
+    // Colors
+    QColor highlightColor;
+    QColor agendaBgColor;
+
+    // Fonts
+    QFont timeBarFont;
+
+    // items
+    KConfigSkeleton::ItemBool *autoSaveItem;
+    KConfigSkeleton::ItemInt *autoSaveIntervalItem;
+    KConfigSkeleton::ItemBool *confirmItem;
+    KConfigSkeleton::ItemString *archiveFileItem;
+    KConfigSkeleton::ItemEnum *destinationItem;
+    KConfigSkeleton::ItemInt *hourSizeItem;
+    KConfigSkeleton::ItemBool *selectionStartsEditorItem;
+    KConfigSkeleton::ItemStringList *selectedPluginsItem;
+    KConfigSkeleton::ItemColor *highlightColorItem;
+    KConfigSkeleton::ItemColor *agendaBgColorItem;
+    KConfigSkeleton::ItemFont *timeBarFontItem;
+};
+
+class TestDPointerHelper
+{
+  public:
+    TestDPointerHelper() : q(nullptr) {}
+    ~TestDPointerHelper() { delete q; q = nullptr; }
+    TestDPointerHelper(const TestDPointerHelper&) = delete;
+    TestDPointerHelper& operator=(const TestDPointerHelper&) = delete;
+    TestDPointer *q;
+};
+Q_GLOBAL_STATIC(TestDPointerHelper, s_globalTestDPointer)
+TestDPointer *TestDPointer::self()
+{
+  if (!s_globalTestDPointer()->q) {
+    new TestDPointer;
+    s_globalTestDPointer()->q->read();
+  }
+
+  return s_globalTestDPointer()->q;
+}
+
+TestDPointer::TestDPointer( )
+  : KConfigSkeleton( QStringLiteral( "korganizerrc" ) )
+{
+  d = new TestDPointerPrivate;
+  Q_ASSERT(!s_globalTestDPointer()->q);
+  s_globalTestDPointer()->q = this;
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  d->autoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), d->autoSave, false );
+  d->autoSaveItem->setLabel( QCoreApplication::translate("TestDPointer", "Enable automatic saving of calendar") );
+  d->autoSaveItem->setWhatsThis( QCoreApplication::translate("TestDPointer", "WhatsThis text for AutoSave option") );
+  addItem( d->autoSaveItem, QStringLiteral( "AutoSave" ) );
+  d->autoSaveIntervalItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), d->autoSaveInterval, 10 );
+  d->autoSaveIntervalItem->setMinValue(0);
+  d->autoSaveIntervalItem->setMaxValue(123);
+  d->autoSaveIntervalItem->setLabel( QCoreApplication::translate("TestDPointer", "Auto Save Interval") );
+  addItem( d->autoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+  d->confirmItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), d->confirm, true );
+  d->confirmItem->setLabel( QCoreApplication::translate("TestDPointer", "Confirm deletes") );
+  addItem( d->confirmItem, QStringLiteral( "Confirm" ) );
+  d->archiveFileItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Archive File" ), d->archiveFile );
+  d->archiveFileItem->setLabel( QCoreApplication::translate("TestDPointer", "Archive File") );
+  addItem( d->archiveFileItem, QStringLiteral( "ArchiveFile" ) );
+  QList<KConfigSkeleton::ItemEnum::Choice> valuesDestination;
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("standardDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("askDestination");
+    valuesDestination.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl1");
+    choice.label = QCoreApplication::translate("TestDPointer", "Argl1 Label");
+    valuesDestination.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl2");
+    choice.whatsThis = QCoreApplication::translate("TestDPointer", "Argl2 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  {
+    KConfigSkeleton::ItemEnum::Choice choice;
+    choice.name = QStringLiteral("argl3");
+    choice.label = QCoreApplication::translate("TestDPointer", "Argl3 Label");
+    choice.whatsThis = QCoreApplication::translate("TestDPointer", "Argl3 Whatsthis");
+    valuesDestination.append( choice );
+  }
+  d->destinationItem = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), d->destination, valuesDestination, EnumDestination::standardDestination );
+  d->destinationItem->setLabel( QCoreApplication::translate("TestDPointer", "New Events/Todos Should") );
+  addItem( d->destinationItem, QStringLiteral( "Destination" ) );
+
+  setCurrentGroup( QStringLiteral( "Views" ) );
+
+  d->hourSizeItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), d->hourSize, 10 );
+  d->hourSizeItem->setLabel( QCoreApplication::translate("TestDPointer", "Hour Size") );
+  addItem( d->hourSizeItem, QStringLiteral( "HourSize" ) );
+  d->selectionStartsEditorItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), d->selectionStartsEditor, false );
+  d->selectionStartsEditorItem->setLabel( QCoreApplication::translate("TestDPointer", "Time range selection in agenda view starts event editor") );
+  addItem( d->selectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+  setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+  QStringList defaultSelectedPlugins;
+  defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+  defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+  d->selectedPluginsItem = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), d->selectedPlugins, defaultSelectedPlugins );
+  d->selectedPluginsItem->setLabel( QCoreApplication::translate("TestDPointer", "SelectedPlugins") );
+  addItem( d->selectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+  setCurrentGroup( QStringLiteral( "Colors" ) );
+
+  d->highlightColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), d->highlightColor, QColor( 100, 100, 255 ) );
+  d->highlightColorItem->setLabel( QCoreApplication::translate("TestDPointer", "Highlight color") );
+  addItem( d->highlightColorItem, QStringLiteral( "HighlightColor" ) );
+  d->agendaBgColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), d->agendaBgColor, QColor( 255, 255, 255 ) );
+  d->agendaBgColorItem->setLabel( QCoreApplication::translate("TestDPointer", "Agenda view background color") );
+  addItem( d->agendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+  setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+  d->timeBarFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), d->timeBarFont );
+  d->timeBarFontItem->setLabel( QCoreApplication::translate("TestDPointer", "Time bar") );
+  addItem( d->timeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+}
+
+void TestDPointer::setAutoSave( bool v )
+{
+    if (!self()->TestDPointer::isAutoSaveImmutable())
+      self()->d->autoSave = v;
+}
+
+bool TestDPointer::autoSave()
+{
+  return self()->d->autoSave;
+}
+
+bool  TestDPointer::isAutoSaveImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "AutoSave" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::autoSaveItem()
+{
+  return d->autoSaveItem;
+}
+
+void TestDPointer::setAutoSaveInterval( int v )
+{
+    if (v < 0)
+    {
+      qDebug() << "setAutoSaveInterval: value " << v << " is less than the minimum value of 0";
+      v = 0;
+    }
+
+    if (v > 123)
+    {
+      qDebug() << "setAutoSaveInterval: value " << v << " is greater than the maximum value of 123";
+      v = 123;
+    }
+
+    if (!self()->TestDPointer::isAutoSaveIntervalImmutable())
+      self()->d->autoSaveInterval = v;
+}
+
+int TestDPointer::autoSaveInterval()
+{
+  return self()->d->autoSaveInterval;
+}
+
+bool  TestDPointer::isAutoSaveIntervalImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+}
+
+
+KConfigSkeleton::ItemInt *TestDPointer::autoSaveIntervalItem()
+{
+  return d->autoSaveIntervalItem;
+}
+
+void TestDPointer::setConfirm( bool v )
+{
+    if (!self()->TestDPointer::isConfirmImmutable())
+      self()->d->confirm = v;
+}
+
+bool TestDPointer::confirm()
+{
+  return self()->d->confirm;
+}
+
+bool  TestDPointer::isConfirmImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "Confirm" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::confirmItem()
+{
+  return d->confirmItem;
+}
+
+void TestDPointer::setArchiveFile( const QString & v )
+{
+    if (!self()->TestDPointer::isArchiveFileImmutable())
+      self()->d->archiveFile = v;
+}
+
+QString TestDPointer::archiveFile()
+{
+  return self()->d->archiveFile;
+}
+
+bool  TestDPointer::isArchiveFileImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "ArchiveFile" ) );
+}
+
+
+KConfigSkeleton::ItemString *TestDPointer::archiveFileItem()
+{
+  return d->archiveFileItem;
+}
+
+void TestDPointer::setDestination( int v )
+{
+    if (!self()->TestDPointer::isDestinationImmutable())
+      self()->d->destination = v;
+}
+
+int TestDPointer::destination()
+{
+  return self()->d->destination;
+}
+
+bool  TestDPointer::isDestinationImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "Destination" ) );
+}
+
+
+KConfigSkeleton::ItemEnum *TestDPointer::destinationItem()
+{
+  return d->destinationItem;
+}
+
+void TestDPointer::setHourSize( int v )
+{
+    if (!self()->TestDPointer::isHourSizeImmutable())
+      self()->d->hourSize = v;
+}
+
+int TestDPointer::hourSize()
+{
+  return self()->d->hourSize;
+}
+
+bool  TestDPointer::isHourSizeImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "HourSize" ) );
+}
+
+
+KConfigSkeleton::ItemInt *TestDPointer::hourSizeItem()
+{
+  return d->hourSizeItem;
+}
+
+void TestDPointer::setSelectionStartsEditor( bool v )
+{
+    if (!self()->TestDPointer::isSelectionStartsEditorImmutable())
+      self()->d->selectionStartsEditor = v;
+}
+
+bool TestDPointer::selectionStartsEditor()
+{
+  return self()->d->selectionStartsEditor;
+}
+
+bool  TestDPointer::isSelectionStartsEditorImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::selectionStartsEditorItem()
+{
+  return d->selectionStartsEditorItem;
+}
+
+void TestDPointer::setSelectedPlugins( const QStringList & v )
+{
+    if (!self()->TestDPointer::isSelectedPluginsImmutable())
+      self()->d->selectedPlugins = v;
+}
+
+QStringList TestDPointer::selectedPlugins()
+{
+  return self()->d->selectedPlugins;
+}
+
+bool  TestDPointer::isSelectedPluginsImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "SelectedPlugins" ) );
+}
+
+
+KConfigSkeleton::ItemStringList *TestDPointer::selectedPluginsItem()
+{
+  return d->selectedPluginsItem;
+}
+
+void TestDPointer::setHighlightColor( const QColor & v )
+{
+    if (!self()->TestDPointer::isHighlightColorImmutable())
+      self()->d->highlightColor = v;
+}
+
+QColor TestDPointer::highlightColor()
+{
+  return self()->d->highlightColor;
+}
+
+bool  TestDPointer::isHighlightColorImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "HighlightColor" ) );
+}
+
+
+KConfigSkeleton::ItemColor *TestDPointer::highlightColorItem()
+{
+  return d->highlightColorItem;
+}
+
+void TestDPointer::setAgendaBgColor( const QColor & v )
+{
+    if (!self()->TestDPointer::isAgendaBgColorImmutable())
+      self()->d->agendaBgColor = v;
+}
+
+QColor TestDPointer::agendaBgColor()
+{
+  return self()->d->agendaBgColor;
+}
+
+bool  TestDPointer::isAgendaBgColorImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "AgendaBgColor" ) );
+}
+
+
+KConfigSkeleton::ItemColor *TestDPointer::agendaBgColorItem()
+{
+  return d->agendaBgColorItem;
+}
+
+void TestDPointer::setTimeBarFont( const QFont & v )
+{
+    if (!self()->TestDPointer::isTimeBarFontImmutable())
+      self()->d->timeBarFont = v;
+}
+
+QFont TestDPointer::timeBarFont()
+{
+  return self()->d->timeBarFont;
+}
+
+bool  TestDPointer::isTimeBarFontImmutable()
+{
+    return self()->isImmutable( QStringLiteral( "TimeBarFont" ) );
+}
+
+
+KConfigSkeleton::ItemFont *TestDPointer::timeBarFontItem()
+{
+  return d->timeBarFontItem;
+}
+
+TestDPointer::~TestDPointer()
+{
+  delete d;
+  if (s_globalTestDPointer.exists() && !s_globalTestDPointer.isDestroyed()) {
+    s_globalTestDPointer()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test_dpointer.h.ref b/autotests/kconfig_compiler/test_dpointer.h.ref
new file mode 100644 (file)
index 0000000..528fbf2
--- /dev/null
@@ -0,0 +1,286 @@
+// This file is generated by kconfig_compiler_kf6 from test_dpointer.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTDPOINTER_H
+#define TESTDPOINTER_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestDPointerPrivate;
+
+class TestDPointer : public KConfigSkeleton
+{
+  public:
+    class EnumDestination
+    {
+      public:
+      enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+    };
+
+    static TestDPointer *self();
+    ~TestDPointer() override;
+
+    /**
+      Set Enable automatic saving of calendar
+    */
+    static
+    void setAutoSave( bool v );
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    static
+    bool autoSave();
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    static
+    bool isAutoSaveImmutable();
+
+    /**
+      Get Item object corresponding to AutoSave()
+    */
+    ItemBool *autoSaveItem();
+
+    /**
+      Set Auto Save Interval
+    */
+    static
+    void setAutoSaveInterval( int v );
+
+    /**
+      Get Auto Save Interval
+    */
+    static
+    int autoSaveInterval();
+
+    /**
+      Is Auto Save Interval Immutable
+    */
+    static
+    bool isAutoSaveIntervalImmutable();
+
+    /**
+      Get Item object corresponding to AutoSaveInterval()
+    */
+    ItemInt *autoSaveIntervalItem();
+
+    /**
+      Set Confirm deletes
+    */
+    static
+    void setConfirm( bool v );
+
+    /**
+      Get Confirm deletes
+    */
+    static
+    bool confirm();
+
+    /**
+      Is Confirm deletes Immutable
+    */
+    static
+    bool isConfirmImmutable();
+
+    /**
+      Get Item object corresponding to Confirm()
+    */
+    ItemBool *confirmItem();
+
+    /**
+      Set Archive File
+    */
+    static
+    void setArchiveFile( const QString & v );
+
+    /**
+      Get Archive File
+    */
+    static
+    QString archiveFile();
+
+    /**
+      Is Archive File Immutable
+    */
+    static
+    bool isArchiveFileImmutable();
+
+    /**
+      Get Item object corresponding to ArchiveFile()
+    */
+    ItemString *archiveFileItem();
+
+    /**
+      Set New Events/Todos Should
+    */
+    static
+    void setDestination( int v );
+
+    /**
+      Get New Events/Todos Should
+    */
+    static
+    int destination();
+
+    /**
+      Is New Events/Todos Should Immutable
+    */
+    static
+    bool isDestinationImmutable();
+
+    /**
+      Get Item object corresponding to Destination()
+    */
+    ItemEnum *destinationItem();
+
+    /**
+      Set Hour Size
+    */
+    static
+    void setHourSize( int v );
+
+    /**
+      Get Hour Size
+    */
+    static
+    int hourSize();
+
+    /**
+      Is Hour Size Immutable
+    */
+    static
+    bool isHourSizeImmutable();
+
+    /**
+      Get Item object corresponding to HourSize()
+    */
+    ItemInt *hourSizeItem();
+
+    /**
+      Set Time range selection in agenda view starts event editor
+    */
+    static
+    void setSelectionStartsEditor( bool v );
+
+    /**
+      Get Time range selection in agenda view starts event editor
+    */
+    static
+    bool selectionStartsEditor();
+
+    /**
+      Is Time range selection in agenda view starts event editor Immutable
+    */
+    static
+    bool isSelectionStartsEditorImmutable();
+
+    /**
+      Get Item object corresponding to SelectionStartsEditor()
+    */
+    ItemBool *selectionStartsEditorItem();
+
+    /**
+      Set SelectedPlugins
+    */
+    static
+    void setSelectedPlugins( const QStringList & v );
+
+    /**
+      Get SelectedPlugins
+    */
+    static
+    QStringList selectedPlugins();
+
+    /**
+      Is SelectedPlugins Immutable
+    */
+    static
+    bool isSelectedPluginsImmutable();
+
+    /**
+      Get Item object corresponding to SelectedPlugins()
+    */
+    ItemStringList *selectedPluginsItem();
+
+    /**
+      Set Highlight color
+    */
+    static
+    void setHighlightColor( const QColor & v );
+
+    /**
+      Get Highlight color
+    */
+    static
+    QColor highlightColor();
+
+    /**
+      Is Highlight color Immutable
+    */
+    static
+    bool isHighlightColorImmutable();
+
+    /**
+      Get Item object corresponding to HighlightColor()
+    */
+    ItemColor *highlightColorItem();
+
+    /**
+      Set Agenda view background color
+    */
+    static
+    void setAgendaBgColor( const QColor & v );
+
+    /**
+      Get Agenda view background color
+    */
+    static
+    QColor agendaBgColor();
+
+    /**
+      Is Agenda view background color Immutable
+    */
+    static
+    bool isAgendaBgColorImmutable();
+
+    /**
+      Get Item object corresponding to AgendaBgColor()
+    */
+    ItemColor *agendaBgColorItem();
+
+    /**
+      Set Time bar
+    */
+    static
+    void setTimeBarFont( const QFont & v );
+
+    /**
+      Get Time bar
+    */
+    static
+    QFont timeBarFont();
+
+    /**
+      Is Time bar Immutable
+    */
+    static
+    bool isTimeBarFontImmutable();
+
+    /**
+      Get Item object corresponding to TimeBarFont()
+    */
+    ItemFont *timeBarFontItem();
+
+  protected:
+    TestDPointer();
+    friend class TestDPointerHelper;
+
+  private:
+    TestDPointerPrivate *d;
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_dpointer.kcfg b/autotests/kconfig_compiler/test_dpointer.kcfg
new file mode 100644 (file)
index 0000000..7dc7400
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="korganizerrc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+      <default>false</default>
+    </entry>
+    <entry type="Int" key="Auto Save Interval">
+      <default>10</default>
+      <min>0</min>
+      <max>123</max>
+    </entry>
+    <entry type="Bool" key="Confirm Deletes" name="Confirm">
+      <label>Confirm deletes</label>
+      <default>true</default>
+    </entry>
+    <entry type="String" key="Archive File">
+    </entry>
+    <entry type="Enum" key="Destination" name="Destination">
+      <label>New Events/Todos Should</label>
+      <choices>
+        <choice name="standardDestination">
+        </choice>
+        <choice name="askDestination">
+        </choice>
+        <choice name="argl1">
+          <label>Argl1 Label</label>
+        </choice>
+        <choice name="argl2">
+          <whatsthis>Argl2 Whatsthis</whatsthis>
+        </choice>
+        <choice name="argl3">
+          <label>Argl3 Label</label>
+          <whatsthis>Argl3 Whatsthis</whatsthis>
+        </choice>
+      </choices>
+      <default>standardDestination</default>
+    </entry>
+  </group>
+
+  <group name="Views">
+    <entry type="Int" key="Hour Size">
+      <default>10</default>
+    </entry>
+    <entry type="Bool" name="SelectionStartsEditor">
+      <label>Time range selection in agenda view starts event editor</label>
+      <default>false</default>
+    </entry>
+  </group>
+
+  <group name="KOrganizer Plugins">
+    <entry type="StringList" name="SelectedPlugins">
+      <default>holidays,webexport</default>
+    </entry>
+  </group>
+
+  <group name="Colors">
+    <entry type="Color" key="Highlight Color">
+      <label>Highlight color</label>
+      <default>100, 100, 255</default>
+    </entry>
+    <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+      <label>Agenda view background color</label>
+      <default>255, 255, 255</default>
+    </entry>
+  </group>
+
+  <group name="Fonts">
+    <entry type="Font" key="TimeBar Font">
+      <label>Time bar</label>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_dpointer.kcfgc b/autotests/kconfig_compiler/test_dpointer.kcfgc
new file mode 100644 (file)
index 0000000..005e6b2
--- /dev/null
@@ -0,0 +1,11 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_dpointer.kcfg
+ClassName=TestDPointer
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+MemberVariables=dpointer
+#GlobalEnums=true
+ItemAccessors=true
+SetUserTexts=true
diff --git a/autotests/kconfig_compiler/test_dpointer_main.cpp b/autotests/kconfig_compiler/test_dpointer_main.cpp
new file mode 100644 (file)
index 0000000..751c591
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar P. <duncan@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_dpointer.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestDPointer *t = TestDPointer::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_emptyentries.cpp.ref b/autotests/kconfig_compiler/test_emptyentries.cpp.ref
new file mode 100644 (file)
index 0000000..730395e
--- /dev/null
@@ -0,0 +1,61 @@
+// This file is generated by kconfig_compiler_kf6 from test_emptyentries.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_emptyentries.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+#include <QDebug>
+
+class QMakeBuilderSettingsHelper
+{
+  public:
+    QMakeBuilderSettingsHelper() : q(nullptr) {}
+    ~QMakeBuilderSettingsHelper() { delete q; q = nullptr; }
+    QMakeBuilderSettingsHelper(const QMakeBuilderSettingsHelper&) = delete;
+    QMakeBuilderSettingsHelper& operator=(const QMakeBuilderSettingsHelper&) = delete;
+    QMakeBuilderSettings *q;
+};
+Q_GLOBAL_STATIC(QMakeBuilderSettingsHelper, s_globalQMakeBuilderSettings)
+QMakeBuilderSettings *QMakeBuilderSettings::self()
+{
+  if (!s_globalQMakeBuilderSettings()->q)
+     qFatal("you need to call QMakeBuilderSettings::instance before using");
+  return s_globalQMakeBuilderSettings()->q;
+}
+
+void QMakeBuilderSettings::instance(const QString& cfgfilename)
+{
+  if (s_globalQMakeBuilderSettings()->q) {
+     qDebug() << "QMakeBuilderSettings::instance called after the first use - ignoring";
+     return;
+  }
+  new QMakeBuilderSettings(KSharedConfig::openConfig(cfgfilename));
+  s_globalQMakeBuilderSettings()->q->read();
+}
+
+void QMakeBuilderSettings::instance(KSharedConfig::Ptr config)
+{
+  if (s_globalQMakeBuilderSettings()->q) {
+     qDebug() << "QMakeBuilderSettings::instance called after the first use - ignoring";
+     return;
+  }
+  new QMakeBuilderSettings(std::move(config));
+  s_globalQMakeBuilderSettings()->q->read();
+}
+
+QMakeBuilderSettings::QMakeBuilderSettings( KSharedConfig::Ptr config )
+  : KConfigSkeleton( std::move( config ) )
+{
+  Q_ASSERT(!s_globalQMakeBuilderSettings()->q);
+  s_globalQMakeBuilderSettings()->q = this;
+}
+
+QMakeBuilderSettings::~QMakeBuilderSettings()
+{
+  if (s_globalQMakeBuilderSettings.exists() && !s_globalQMakeBuilderSettings.isDestroyed()) {
+    s_globalQMakeBuilderSettings()->q = nullptr;
+  }
+}
+
diff --git a/autotests/kconfig_compiler/test_emptyentries.h.ref b/autotests/kconfig_compiler/test_emptyentries.h.ref
new file mode 100644 (file)
index 0000000..2e149bf
--- /dev/null
@@ -0,0 +1,29 @@
+// This file is generated by kconfig_compiler_kf6 from test_emptyentries.kcfg.
+// All changes you do to this file will be lost.
+#ifndef QMAKEBUILDERSETTINGS_H
+#define QMAKEBUILDERSETTINGS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <QString>
+
+class QMakeBuilderSettings : public KConfigSkeleton
+{
+  public:
+    static QMakeBuilderSettings *self();
+    static void instance(const QString& cfgfilename);
+    static void instance(KSharedConfig::Ptr config);
+    ~QMakeBuilderSettings() override;
+
+  protected:
+    QMakeBuilderSettings(KSharedConfig::Ptr config);
+    friend class QMakeBuilderSettingsHelper;
+
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_emptyentries.kcfg b/autotests/kconfig_compiler/test_emptyentries.kcfg
new file mode 100644 (file)
index 0000000..1ad9326
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
+  <kcfgfile arg="true"/>
+  <include>QString</include>
+  <!-- save/restore is handled manually -->
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_emptyentries.kcfgc b/autotests/kconfig_compiler/test_emptyentries.kcfgc
new file mode 100644 (file)
index 0000000..5c9c71d
--- /dev/null
@@ -0,0 +1,3 @@
+File=test_emptyentries.kcfg
+ClassName=QMakeBuilderSettings
+Singleton=true
diff --git a/autotests/kconfig_compiler/test_emptyentries_main.cpp b/autotests/kconfig_compiler/test_emptyentries_main.cpp
new file mode 100644 (file)
index 0000000..5dbce8e
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+    SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_emptyentries.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    QMakeBuilderSettings::instance(QStringLiteral("abc"));
+    auto *t = QMakeBuilderSettings::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_enums_and_properties.kcfg b/autotests/kconfig_compiler/test_enums_and_properties.kcfg
new file mode 100644 (file)
index 0000000..8ce6a41
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Michaël Larouche-->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+       <kcfgfile name="test_enums_and_properties.kcfgc"/>
+
+       <group name="test_group">
+        <entry name="PowerButtonAction" type="Enum">
+            <choices>
+                <choice name="NoneMode" value="0"/>
+                <choice name="ToRamMode" value="1"/>
+                <choice name="ToDiskMode" value="2"/>
+                <choice name="SuspendHybridMode" value="4"/>
+                <choice name="ShutdownMode" value="8"/>
+                <choice name="LogoutDialogMode" value="16"/>
+                <choice name="LockScreenMode" value="32" />
+                <choice name="TurnOffScreenMode" value="64" />
+                <choice name="ToggleScreenOnOffMode" value="128" />
+            </choices>
+            <default>0</default>
+        </entry>
+       </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_enums_and_properties.kcfgc b/autotests/kconfig_compiler/test_enums_and_properties.kcfgc
new file mode 100644 (file)
index 0000000..7df2cf2
--- /dev/null
@@ -0,0 +1,4 @@
+File=test_enums_and_properties.kcfg
+ClassName=TestEnumsAndProperties
+GenerateProperties=true
+Mutators=true
diff --git a/autotests/kconfig_compiler/test_fileextensions.kcfg b/autotests/kconfig_compiler/test_fileextensions.kcfg
new file mode 100644 (file)
index 0000000..c5040fd
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test_fileextensions_rc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+      <default>false</default>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_fileextensions.kcfgc b/autotests/kconfig_compiler/test_fileextensions.kcfgc
new file mode 100644 (file)
index 0000000..080595a
--- /dev/null
@@ -0,0 +1,6 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_fileextensions.kcfg
+Singleton=true
+ClassName=TestFileExtensions
+SetUserTexts=true
+HeaderExtension=hxx
diff --git a/autotests/kconfig_compiler/test_fileextensions_main.cxx b/autotests/kconfig_compiler/test_fileextensions_main.cxx
new file mode 100644 (file)
index 0000000..c6f5d75
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2019 Friedrich W. H. Kossebau <kossebau@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_fileextensions.hxx"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestFileExtensions *t = TestFileExtensions::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_notifiers.cpp.ref b/autotests/kconfig_compiler/test_notifiers.cpp.ref
new file mode 100644 (file)
index 0000000..39460e7
--- /dev/null
@@ -0,0 +1,34 @@
+// This file is generated by kconfig_compiler_kf6 from test_notifiers.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_notifiers.h"
+
+TestNotifiers::TestNotifiers( int Number )
+  : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+  , mParamNumber(Number)
+{
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+  KConfigSkeleton::ItemColor  *itemColor;
+  itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+  itemColor->setWriteFlags(KConfigBase::Notify);
+  addItem( itemColor, QStringLiteral( "Color" ) );
+
+  setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  itemFooBar->setWriteFlags(KConfigBase::Notify);
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  itemAge->setWriteFlags(KConfigBase::Notify);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+TestNotifiers::~TestNotifiers()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_notifiers.h.ref b/autotests/kconfig_compiler/test_notifiers.h.ref
new file mode 100644 (file)
index 0000000..c367f03
--- /dev/null
@@ -0,0 +1,118 @@
+// This file is generated by kconfig_compiler_kf6 from test_notifiers.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNOTIFIERS_H
+#define TESTNOTIFIERS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestNotifiers : public KConfigSkeleton
+{
+  public:
+
+    TestNotifiers( int Number );
+    ~TestNotifiers() override;
+
+    /**
+      Set Block colors.
+    */
+    void setColor( const QColor & v )
+    {
+      if (!isColorImmutable())
+        mColor = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    QColor color() const
+    {
+      return mColor;
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    bool isColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Color" ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    void setFooBar( const QString & v )
+    {
+      if (!isFooBarImmutable())
+        mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    QString fooBar() const
+    {
+      return mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    bool isFooBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!isAgeImmutable())
+        mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    int age() const
+    {
+      return mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    bool isAgeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    int mParamNumber;
+
+    // Foo
+    QColor mColor;
+
+    // Bar$(Number)
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_notifiers.kcfg b/autotests/kconfig_compiler/test_notifiers.kcfg
new file mode 100644 (file)
index 0000000..2f54f60
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test7rc">
+      <parameter name="Number" type="Int"/>
+  </kcfgfile>
+
+  <group name="Foo">
+    <entry name="Color" type="Color" key="color #$(Number)">
+      <label>Block colors.</label>
+      <default>red</default>
+    </entry>
+  </group>
+  <group name="Bar$(Number)">
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_notifiers.kcfgc b/autotests/kconfig_compiler/test_notifiers.kcfgc
new file mode 100644 (file)
index 0000000..692ae1e
--- /dev/null
@@ -0,0 +1,8 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_notifiers.kcfg
+ClassName=TestNotifiers
+Singleton=false
+Mutators=true
+GlobalEnums=true
+ItemAccessors=false
+Notifiers=true
diff --git a/autotests/kconfig_compiler/test_notifiers_main.cpp b/autotests/kconfig_compiler/test_notifiers_main.cpp
new file mode 100644 (file)
index 0000000..7200938
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@privat.broulik.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_notifiers.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNotifiers t = TestNotifiers(42);
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_param_minmax.cpp.ref b/autotests/kconfig_compiler/test_param_minmax.cpp.ref
new file mode 100644 (file)
index 0000000..702bfa0
--- /dev/null
@@ -0,0 +1,41 @@
+// This file is generated by kconfig_compiler_kf6 from test_param_minmax.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_param_minmax.h"
+
+TestParamMinMax::TestParamMinMax( KSharedConfig::Ptr config )
+  : KConfigSkeleton( std::move( config ) )
+{
+  setCurrentGroup( QStringLiteral( "Something" ) );
+
+  KConfigSkeleton::ItemDouble  *itemFoo[6];
+  itemFoo[0] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#0" ), mFoo[0], 1.23 );
+  itemFoo[0]->setMinValue(0.01);
+  itemFoo[0]->setMaxValue(89898.23);
+  addItem( itemFoo[0], QStringLiteral( "Foo0" ) );
+  itemFoo[1] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#1" ), mFoo[1], 1.23 );
+  itemFoo[1]->setMinValue(0.01);
+  itemFoo[1]->setMaxValue(89898.23);
+  addItem( itemFoo[1], QStringLiteral( "Foo1" ) );
+  itemFoo[2] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#2" ), mFoo[2], 1.23 );
+  itemFoo[2]->setMinValue(0.01);
+  itemFoo[2]->setMaxValue(89898.23);
+  addItem( itemFoo[2], QStringLiteral( "Foo2" ) );
+  itemFoo[3] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#3" ), mFoo[3], 1.23 );
+  itemFoo[3]->setMinValue(0.01);
+  itemFoo[3]->setMaxValue(89898.23);
+  addItem( itemFoo[3], QStringLiteral( "Foo3" ) );
+  itemFoo[4] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#4" ), mFoo[4], 1.23 );
+  itemFoo[4]->setMinValue(0.01);
+  itemFoo[4]->setMaxValue(89898.23);
+  addItem( itemFoo[4], QStringLiteral( "Foo4" ) );
+  itemFoo[5] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#5" ), mFoo[5], 1.23 );
+  itemFoo[5]->setMinValue(0.01);
+  itemFoo[5]->setMaxValue(89898.23);
+  addItem( itemFoo[5], QStringLiteral( "Foo5" ) );
+}
+
+TestParamMinMax::~TestParamMinMax()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_param_minmax.h.ref b/autotests/kconfig_compiler/test_param_minmax.h.ref
new file mode 100644 (file)
index 0000000..2de3c55
--- /dev/null
@@ -0,0 +1,64 @@
+// This file is generated by kconfig_compiler_kf6 from test_param_minmax.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTPARAMMINMAX_H
+#define TESTPARAMMINMAX_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestParamMinMax : public KConfigSkeleton
+{
+  public:
+
+    TestParamMinMax( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
+    ~TestParamMinMax() override;
+
+    /**
+      Set foo_#$(myparam)
+    */
+    void setFoo( int i, double v )
+    {
+      if (v < 0.01)
+      {
+        qDebug() << "setFoo: value " << v << " is less than the minimum value of 0.01";
+        v = 0.01;
+      }
+
+      if (v > 89898.23)
+      {
+        qDebug() << "setFoo: value " << v << " is greater than the maximum value of 89898.23";
+        v = 89898.23;
+      }
+
+      if (!isFooImmutable( i ))
+        mFoo[i] = v;
+    }
+
+    /**
+      Get foo_#$(myparam)
+    */
+    double foo( int i ) const
+    {
+      return mFoo[i];
+    }
+
+    /**
+      Is foo_#$(myparam) Immutable
+    */
+    bool isFooImmutable( int i ) const
+    {
+      return isImmutable( QStringLiteral( "Foo%1" ).arg( i ) );
+    }
+
+  protected:
+
+    // Something
+    double mFoo[6];
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_param_minmax.kcfg b/autotests/kconfig_compiler/test_param_minmax.kcfg
new file mode 100644 (file)
index 0000000..32046fd
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Henri Chain -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile arg="true"/>
+  <group name="Something">
+    <entry name="Foo$(myparam)" type="double" key="foo_#$(myparam)">
+      <parameter name="myparam" type="Int" max="5"/>
+      <default>1.23</default>
+      <min>0.01</min>
+      <max>89898.23</max>
+    </entry>
+  </group>
+</kcfg>
+
diff --git a/autotests/kconfig_compiler/test_param_minmax.kcfgc b/autotests/kconfig_compiler/test_param_minmax.kcfgc
new file mode 100644 (file)
index 0000000..d2aec87
--- /dev/null
@@ -0,0 +1,4 @@
+ClassName=TestParamMinMax
+File=test_param_minmax.kcfg
+Mutators=true
+
diff --git a/autotests/kconfig_compiler/test_param_minmax_main.cpp b/autotests/kconfig_compiler/test_param_minmax_main.cpp
new file mode 100644 (file)
index 0000000..b8c220d
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+Copyright (c) 2020 Henri chain <henri.chain@enioka.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+#include "test_param_minmax.h"
+
+int main(int, char **)
+{
+    TestParamMinMax t = TestParamMinMax();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_properties_minmax.cpp.ref b/autotests/kconfig_compiler/test_properties_minmax.cpp.ref
new file mode 100644 (file)
index 0000000..d18fe4f
--- /dev/null
@@ -0,0 +1,34 @@
+// This file is generated by kconfig_compiler_kf6 from test_properties_minmax.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_properties_minmax.h"
+
+TestPropertiesMinMax::TestPropertiesMinMax( KSharedConfig::Ptr config )
+  : KConfigSkeleton( std::move( config ) )
+{
+  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&TestPropertiesMinMax::itemChanged);
+
+  setCurrentGroup( QStringLiteral( "Something" ) );
+
+  KConfigCompilerSignallingItem  *itemBar;
+  KConfigSkeleton::ItemInt  *innerItemBar;
+  innerItemBar = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "bar" ), mBar, 42 );
+  itemBar = new KConfigCompilerSignallingItem(innerItemBar, this, notifyFunction, signalBarChanged);
+  innerItemBar->setMinValue(36);
+  innerItemBar->setMaxValue(102);
+  addItem( itemBar, QStringLiteral( "bar" ) );
+}
+
+TestPropertiesMinMax::~TestPropertiesMinMax()
+{
+}
+
+
+void TestPropertiesMinMax::itemChanged(quint64 signalFlag) {
+
+  switch (signalFlag) {
+  case signalBarChanged:
+    Q_EMIT barChanged();
+    break;
+  }
+}
diff --git a/autotests/kconfig_compiler/test_properties_minmax.h.ref b/autotests/kconfig_compiler/test_properties_minmax.h.ref
new file mode 100644 (file)
index 0000000..5f66534
--- /dev/null
@@ -0,0 +1,80 @@
+// This file is generated by kconfig_compiler_kf6 from test_properties_minmax.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTPROPERTIESMINMAX_H
+#define TESTPROPERTIESMINMAX_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestPropertiesMinMax : public KConfigSkeleton
+{
+  Q_OBJECT
+  public:
+
+    TestPropertiesMinMax( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
+    ~TestPropertiesMinMax() override;
+
+    /**
+      Set bar
+    */
+    void setBar( int v )
+    {
+      if (v < 36)
+      {
+        qDebug() << "setBar: value " << v << " is less than the minimum value of 36";
+        v = 36;
+      }
+
+      if (v > 102)
+      {
+        qDebug() << "setBar: value " << v << " is greater than the maximum value of 102";
+        v = 102;
+      }
+
+      if (v != mBar && !isBarImmutable()) {
+        mBar = v;
+        Q_EMIT barChanged();
+      }
+    }
+
+    Q_PROPERTY(int bar READ bar WRITE setBar NOTIFY barChanged)
+    Q_PROPERTY(bool isBarImmutable READ isBarImmutable CONSTANT)
+    /**
+      Get bar
+    */
+    int bar() const
+    {
+      return mBar;
+    }
+
+    /**
+      Is bar Immutable
+    */
+    bool isBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "bar" ) );
+    }
+
+
+    enum {
+      signalBarChanged = 1
+    };
+
+  Q_SIGNALS:
+    void barChanged();
+
+  private:
+    void itemChanged(quint64 signalFlag);
+
+  protected:
+
+    // Something
+    int mBar;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_properties_minmax.kcfg b/autotests/kconfig_compiler/test_properties_minmax.kcfg
new file mode 100644 (file)
index 0000000..621a793
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Henri Chain -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile arg="true"/>
+  <group name="Something">
+    <entry name="bar" type="Int">
+      <default>42</default>
+      <min>36</min>
+      <max>102</max>
+    </entry>
+  </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_properties_minmax.kcfgc b/autotests/kconfig_compiler/test_properties_minmax.kcfgc
new file mode 100644 (file)
index 0000000..a7ce429
--- /dev/null
@@ -0,0 +1,5 @@
+ClassName=TestPropertiesMinMax
+GenerateProperties=true
+File=test_properties_minmax.kcfg
+Mutators=true
+
diff --git a/autotests/kconfig_compiler/test_properties_minmax_main.cpp b/autotests/kconfig_compiler/test_properties_minmax_main.cpp
new file mode 100644 (file)
index 0000000..4031d6b
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+Copyright (c) 2020 Henri Chain <henri.chain@enioka.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+#include "test_properties_minmax.h"
+
+int main(int, char **)
+{
+    TestPropertiesMinMax t = TestPropertiesMinMax();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_qdebugcategory.cpp.ref b/autotests/kconfig_compiler/test_qdebugcategory.cpp.ref
new file mode 100644 (file)
index 0000000..8667cc7
--- /dev/null
@@ -0,0 +1,31 @@
+// This file is generated by kconfig_compiler_kf6 from test_qdebugcategory.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_qdebugcategory.h"
+
+TestQCategory::TestQCategory( int Number )
+  : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+  , mParamNumber(Number)
+{
+  setCurrentGroup( QStringLiteral( "Foo" ) );
+
+  KConfigSkeleton::ItemColor  *itemColor;
+  itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+  addItem( itemColor, QStringLiteral( "Color" ) );
+
+  setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+  KConfigSkeleton::ItemString  *itemFooBar;
+  itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+  addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+  KConfigSkeleton::ItemInt  *itemAge;
+  itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+  itemAge->setMinValue(8);
+  itemAge->setMaxValue(88);
+  addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+TestQCategory::~TestQCategory()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_qdebugcategory.h.ref b/autotests/kconfig_compiler/test_qdebugcategory.h.ref
new file mode 100644 (file)
index 0000000..feb3121
--- /dev/null
@@ -0,0 +1,120 @@
+// This file is generated by kconfig_compiler_kf6 from test_qdebugcategory.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTQCATEGORY_H
+#define TESTQCATEGORY_H
+
+#include <test_qdebugcategory_debug.h>
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestQCategory : public KConfigSkeleton
+{
+  public:
+
+    TestQCategory( int Number );
+    ~TestQCategory() override;
+
+    /**
+      Set Block colors.
+    */
+    void setColor( const QColor & v )
+    {
+      if (!isColorImmutable())
+        mColor = v;
+    }
+
+    /**
+      Get Block colors.
+    */
+    QColor color() const
+    {
+      return mColor;
+    }
+
+    /**
+      Is Block colors. Immutable
+    */
+    bool isColorImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Color" ) );
+    }
+
+    /**
+      Set foo bar
+    */
+    void setFooBar( const QString & v )
+    {
+      if (!isFooBarImmutable())
+        mFooBar = v;
+    }
+
+    /**
+      Get foo bar
+    */
+    QString fooBar() const
+    {
+      return mFooBar;
+    }
+
+    /**
+      Is foo bar Immutable
+    */
+    bool isFooBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "FooBar" ) );
+    }
+
+    /**
+      Set Age
+    */
+    void setAge( int v )
+    {
+      if (v < 8)
+      {
+        qCDebug(CATEGORY_LOG) << "setAge: value " << v << " is less than the minimum value of 8";
+        v = 8;
+      }
+
+      if (v > 88)
+      {
+        qCDebug(CATEGORY_LOG) << "setAge: value " << v << " is greater than the maximum value of 88";
+        v = 88;
+      }
+
+      if (!isAgeImmutable())
+        mAge = v;
+    }
+
+    /**
+      Get Age
+    */
+    int age() const
+    {
+      return mAge;
+    }
+
+    /**
+      Is Age Immutable
+    */
+    bool isAgeImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Age" ) );
+    }
+
+  protected:
+    int mParamNumber;
+
+    // Foo
+    QColor mColor;
+
+    // Bar$(Number)
+    QString mFooBar;
+    int mAge;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_qdebugcategory.kcfg b/autotests/kconfig_compiler/test_qdebugcategory.kcfg
new file mode 100644 (file)
index 0000000..2f54f60
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test7rc">
+      <parameter name="Number" type="Int"/>
+  </kcfgfile>
+
+  <group name="Foo">
+    <entry name="Color" type="Color" key="color #$(Number)">
+      <label>Block colors.</label>
+      <default>red</default>
+    </entry>
+  </group>
+  <group name="Bar$(Number)">
+    <entry name="FooBar" key="foo bar" type="String"/>
+    <entry name="Age" type="Int">
+      <default>35</default>
+      <min>8</min>
+      <max>88</max>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_qdebugcategory.kcfgc b/autotests/kconfig_compiler/test_qdebugcategory.kcfgc
new file mode 100644 (file)
index 0000000..1010e84
--- /dev/null
@@ -0,0 +1,9 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_qdebugcategory.kcfg
+ClassName=TestQCategory
+Singleton=false
+Mutators=true
+GlobalEnums=true
+ItemAccessors=false
+CategoryLoggingName=CATEGORY_LOG
+IncludeFiles=test_qdebugcategory_debug.h
diff --git a/autotests/kconfig_compiler/test_qdebugcategory_debug.cpp b/autotests/kconfig_compiler/test_qdebugcategory_debug.cpp
new file mode 100644 (file)
index 0000000..2526254
--- /dev/null
@@ -0,0 +1,2 @@
+#include "test_qdebugcategory_debug.h"
+Q_LOGGING_CATEGORY(CATEGORY_LOG, "log_category")
diff --git a/autotests/kconfig_compiler/test_qdebugcategory_debug.h b/autotests/kconfig_compiler/test_qdebugcategory_debug.h
new file mode 100644 (file)
index 0000000..a92e54c
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef TEST_QCATEGORY_DEBUG_H
+#define TEST_QCATEGORY_DEBUG_H
+
+#include <QLoggingCategory>
+Q_DECLARE_LOGGING_CATEGORY(CATEGORY_LOG)
+
+#endif
diff --git a/autotests/kconfig_compiler/test_qdebugcategorymain.cpp b/autotests/kconfig_compiler/test_qdebugcategorymain.cpp
new file mode 100644 (file)
index 0000000..e5703bf
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_qdebugcategory.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestQCategory t = TestQCategory(42);
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_signal.cpp.ref b/autotests/kconfig_compiler/test_signal.cpp.ref
new file mode 100644 (file)
index 0000000..8aa132f
--- /dev/null
@@ -0,0 +1,86 @@
+// This file is generated by kconfig_compiler_kf6 from test_signal.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_signal.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class TestSignalHelper
+{
+  public:
+    TestSignalHelper() : q(nullptr) {}
+    ~TestSignalHelper() { delete q; q = nullptr; }
+    TestSignalHelper(const TestSignalHelper&) = delete;
+    TestSignalHelper& operator=(const TestSignalHelper&) = delete;
+    TestSignal *q;
+};
+Q_GLOBAL_STATIC(TestSignalHelper, s_globalTestSignal)
+TestSignal *TestSignal::self()
+{
+  if (!s_globalTestSignal()->q) {
+    new TestSignal;
+    s_globalTestSignal()->q->read();
+  }
+
+  return s_globalTestSignal()->q;
+}
+
+TestSignal::TestSignal( )
+  : KConfigSkeleton( QStringLiteral( "kconfig_compiler_kf6_test_rc" ) )
+{
+  Q_ASSERT(!s_globalTestSignal()->q);
+  s_globalTestSignal()->q = this;
+  KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&TestSignal::itemChanged);
+
+  setCurrentGroup( QStringLiteral( "Appearance" ) );
+
+  KConfigCompilerSignallingItem  *itemEmoticonTheme;
+  KConfigSkeleton::ItemString  *innerItemEmoticonTheme;
+  innerItemEmoticonTheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "emoticonTheme" ), mEmoticonTheme, QStringLiteral( "Default" ) );
+  itemEmoticonTheme = new KConfigCompilerSignallingItem(innerItemEmoticonTheme, this, notifyFunction, signalEmoticonSettingsChanged);
+  addItem( itemEmoticonTheme, QStringLiteral( "emoticonTheme" ) );
+  KConfigCompilerSignallingItem  *itemUseEmoticon;
+  KConfigSkeleton::ItemBool  *innerItemUseEmoticon;
+  innerItemUseEmoticon = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useEmoticon" ), mUseEmoticon, true );
+  itemUseEmoticon = new KConfigCompilerSignallingItem(innerItemUseEmoticon, this, notifyFunction, signalEmoticonSettingsChanged);
+  addItem( itemUseEmoticon, QStringLiteral( "useEmoticon" ) );
+  KConfigCompilerSignallingItem  *itemEmoticonRequireSpace;
+  KConfigSkeleton::ItemBool  *innerItemEmoticonRequireSpace;
+  innerItemEmoticonRequireSpace = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "emoticonRequireSpace" ), mEmoticonRequireSpace, true );
+  itemEmoticonRequireSpace = new KConfigCompilerSignallingItem(innerItemEmoticonRequireSpace, this, notifyFunction, signalEmoticonSettingsChanged);
+  addItem( itemEmoticonRequireSpace, QStringLiteral( "emoticonRequireSpace" ) );
+  KConfigCompilerSignallingItem  *itemStylePath;
+  KConfigSkeleton::ItemString  *innerItemStylePath;
+  innerItemStylePath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stylePath" ), mStylePath );
+  itemStylePath = new KConfigCompilerSignallingItem(innerItemStylePath, this, notifyFunction, signalStyleChanged);
+  addItem( itemStylePath, QStringLiteral( "stylePath" ) );
+  KConfigSkeleton::ItemString  *itemStyleCSSVariant;
+  itemStyleCSSVariant = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "styleVariant" ), mStyleCSSVariant );
+  addItem( itemStyleCSSVariant, QStringLiteral( "StyleCSSVariant" ) );
+}
+
+TestSignal::~TestSignal()
+{
+  if (s_globalTestSignal.exists() && !s_globalTestSignal.isDestroyed()) {
+    s_globalTestSignal()->q = nullptr;
+  }
+}
+
+bool TestSignal::usrSave()
+{
+  const bool res = KConfigSkeleton::usrSave();
+  if (!res) return false;
+
+  if (mSettingsChanged.contains(signalEmoticonSettingsChanged))
+    Q_EMIT emoticonSettingsChanged();
+  if (mSettingsChanged.contains(signalStyleChanged))
+    Q_EMIT styleChanged(mStylePath, mStyleCSSVariant);
+  mSettingsChanged.clear();
+  return true;
+}
+
+void TestSignal::itemChanged(quint64 signalFlag) {
+  mSettingsChanged.insert(signalFlag);
+
+}
diff --git a/autotests/kconfig_compiler/test_signal.h.ref b/autotests/kconfig_compiler/test_signal.h.ref
new file mode 100644 (file)
index 0000000..eb83149
--- /dev/null
@@ -0,0 +1,202 @@
+// This file is generated by kconfig_compiler_kf6 from test_signal.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTSIGNAL_H
+#define TESTSIGNAL_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <QSet>
+
+class TestSignal : public KConfigSkeleton
+{
+  Q_OBJECT
+  public:
+
+    static TestSignal *self();
+    ~TestSignal() override;
+
+    /**
+      Set Current emoticon theme.
+    */
+    static
+    void setEmoticonTheme( const QString & v )
+    {
+      if (v != self()->mEmoticonTheme && !self()->isEmoticonThemeImmutable()) {
+        self()->mEmoticonTheme = v;
+        self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+      }
+    }
+
+    /**
+      Get Current emoticon theme.
+    */
+    static
+    QString emoticonTheme()
+    {
+      return self()->mEmoticonTheme;
+    }
+
+    /**
+      Is Current emoticon theme. Immutable
+    */
+    static
+    bool isEmoticonThemeImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "emoticonTheme" ) );
+    }
+
+    /**
+      Set Enable emoticon support in Kopete.
+    */
+    static
+    void setUseEmoticon( bool v )
+    {
+      if (v != self()->mUseEmoticon && !self()->isUseEmoticonImmutable()) {
+        self()->mUseEmoticon = v;
+        self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+      }
+    }
+
+    /**
+      Get Enable emoticon support in Kopete.
+    */
+    static
+    bool useEmoticon()
+    {
+      return self()->mUseEmoticon;
+    }
+
+    /**
+      Is Enable emoticon support in Kopete. Immutable
+    */
+    static
+    bool isUseEmoticonImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "useEmoticon" ) );
+    }
+
+    /**
+      Set Use strict mode in emoticon parsing.
+    */
+    static
+    void setEmoticonRequireSpace( bool v )
+    {
+      if (v != self()->mEmoticonRequireSpace && !self()->isEmoticonRequireSpaceImmutable()) {
+        self()->mEmoticonRequireSpace = v;
+        self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+      }
+    }
+
+    /**
+      Get Use strict mode in emoticon parsing.
+    */
+    static
+    bool emoticonRequireSpace()
+    {
+      return self()->mEmoticonRequireSpace;
+    }
+
+    /**
+      Is Use strict mode in emoticon parsing. Immutable
+    */
+    static
+    bool isEmoticonRequireSpaceImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "emoticonRequireSpace" ) );
+    }
+
+    /**
+      Set Absolute path to a directory containing a Adium/Kopete chat window style.
+    */
+    static
+    void setStylePath( const QString & v )
+    {
+      if (v != self()->mStylePath && !self()->isStylePathImmutable()) {
+        self()->mStylePath = v;
+        self()->mSettingsChanged.insert(signalStyleChanged);
+      }
+    }
+
+    /**
+      Get Absolute path to a directory containing a Adium/Kopete chat window style.
+    */
+    static
+    QString stylePath()
+    {
+      return self()->mStylePath;
+    }
+
+    /**
+      Is Absolute path to a directory containing a Adium/Kopete chat window style. Immutable
+    */
+    static
+    bool isStylePathImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "stylePath" ) );
+    }
+
+    /**
+      Set Relative path to a CSS variant for the current style.
+    */
+    static
+    void setStyleCSSVariant( const QString & v )
+    {
+      if (!self()->isStyleCSSVariantImmutable())
+        self()->mStyleCSSVariant = v;
+    }
+
+    /**
+      Get Relative path to a CSS variant for the current style.
+    */
+    static
+    QString styleCSSVariant()
+    {
+      return self()->mStyleCSSVariant;
+    }
+
+    /**
+      Is Relative path to a CSS variant for the current style. Immutable
+    */
+    static
+    bool isStyleCSSVariantImmutable()
+    {
+      return self()->isImmutable( QStringLiteral( "StyleCSSVariant" ) );
+    }
+
+
+    enum {
+      signalEmoticonSettingsChanged = 1,
+      signalStyleChanged = 2
+    };
+
+  Q_SIGNALS:
+    void emoticonSettingsChanged();
+
+    /**
+      Tell when a complete style change.
+    */
+    void styleChanged(const QString & stylePath, const QString & StyleCSSVariant);
+
+  private:
+    void itemChanged(quint64 signalFlag);
+
+  protected:
+    TestSignal();
+    friend class TestSignalHelper;
+
+    bool usrSave() override;
+
+    // Appearance
+    QString mEmoticonTheme;
+    bool mUseEmoticon;
+    bool mEmoticonRequireSpace;
+    QString mStylePath;
+    QString mStyleCSSVariant;
+
+  private:
+    QSet<quint64> mSettingsChanged;
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_signal.kcfg b/autotests/kconfig_compiler/test_signal.kcfg
new file mode 100644 (file)
index 0000000..83f4363
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Michaël Larouche-->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+       <kcfgfile name="kconfig_compiler_kf6_test_rc"/>
+
+       <signal name="emoticonSettingsChanged" />
+       
+    <signal name="styleChanged">
+               <label>Tell when a complete style change.</label>
+               <argument type="String">stylePath</argument>
+        <argument type="String">StyleCSSVariant</argument>
+       </signal>
+
+       <group name="Appearance">
+               <!-- Emoticon config -->
+               <entry key="emoticonTheme" type="String">
+                       <label>Current emoticon theme.</label>
+                       <default>Default</default>
+                       <emit signal="emoticonSettingsChanged" />
+               </entry>
+               <entry key="useEmoticon" type="Bool"> 
+                       <label>Enable emoticon support in Kopete.</label>
+                       <default>true</default>
+                       <emit signal="emoticonSettingsChanged" />
+               </entry>
+               <entry key="emoticonRequireSpace" type="Bool">
+                       <label>Use strict mode in emoticon parsing.</label>
+                       <default>true</default>
+                       <emit signal="emoticonSettingsChanged" />
+               </entry>
+               
+               <!-- Chat Window Style preferences -->
+               <entry key="stylePath" type="String">
+                       <label>Absolute path to a directory containing a Adium/Kopete chat window style.</label>
+                       <emit signal="styleChanged" />
+               </entry>
+
+               <entry key="styleVariant" type="String" name="StyleCSSVariant">
+                       <label>Relative path to a CSS variant for the current style.</label>
+               </entry>
+       </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_signal.kcfgc b/autotests/kconfig_compiler/test_signal.kcfgc
new file mode 100644 (file)
index 0000000..b2a2fc0
--- /dev/null
@@ -0,0 +1,7 @@
+File=test_signal.kcfg
+ClassName=TestSignal
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+ItemAccessors=false
diff --git a/autotests/kconfig_compiler/test_signal_main.cpp b/autotests/kconfig_compiler/test_signal_main.cpp
new file mode 100644 (file)
index 0000000..66ec3e1
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    SPDX-FileCopyrightText: 2006 Michael Larouche <michael.larouche@kdemail.net>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_signal.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestSignal *t = TestSignal::self();
+    delete t;
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_state_config.kcfg b/autotests/kconfig_compiler/test_state_config.kcfg
new file mode 100644 (file)
index 0000000..9c9e96c
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test_statedatarc" stateConfig="true"/>
+
+  <group name="General">
+    <entry type="Int" key="SomeStateData">
+      <default>0</default>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_state_config.kcfgc b/autotests/kconfig_compiler/test_state_config.kcfgc
new file mode 100644 (file)
index 0000000..6b79bd1
--- /dev/null
@@ -0,0 +1,6 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_state_config.kcfg
+ClassName=MyStateConfig
+Singleton=false
+Mutators=true
+ItemAccessors=true
diff --git a/autotests/kconfig_compiler/test_state_config_main.cpp b/autotests/kconfig_compiler/test_state_config_main.cpp
new file mode 100644 (file)
index 0000000..bdf8d5f
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+    SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_state_config.h"
+#include <QTest>
+
+class TestStateConfig : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void testStateConfig()
+    {
+        auto stateConfig = KSharedConfig::openStateConfig(QStringLiteral("test_statedatarc"));
+
+        // Clean the group at every start
+        stateConfig->deleteGroup(QStringLiteral("General"));
+        stateConfig->sync();
+
+        // It should have the default value
+        QCOMPARE(MyStateConfig().someStateData(), 0);
+
+        // the updated value should be read from the generated config class
+        stateConfig->group(QStringLiteral("General")).writeEntry("SomeStateData", 1);
+        QCOMPARE(MyStateConfig().someStateData(), 1);
+
+        // Make sure writing the value works as expected
+        MyStateConfig cfg;
+        cfg.setSomeStateData(2);
+        QVERIFY(cfg.isSaveNeeded());
+        cfg.save();
+        stateConfig->reparseConfiguration();
+        QCOMPARE(stateConfig->group(QStringLiteral("General")).readEntry("SomeStateData", -1), 2);
+    }
+};
+QTEST_MAIN(TestStateConfig)
+
+#include "test_state_config_main.moc"
diff --git a/autotests/kconfig_compiler/test_subgroups.cpp.ref b/autotests/kconfig_compiler/test_subgroups.cpp.ref
new file mode 100644 (file)
index 0000000..11287ab
--- /dev/null
@@ -0,0 +1,47 @@
+// This file is generated by kconfig_compiler_kf6 from test_subgroups.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_subgroups.h"
+
+TestSubgroups::TestSubgroups( const QString & GeneralGroup, const QString & SubGroup, const QString & AnotherSubGroup )
+  : KConfigSkeleton( QStringLiteral( "kconfig_compiler_kf6_test_rc" ) )
+  , mParamGeneralGroup(GeneralGroup)
+  , mParamSubGroup(SubGroup)
+  , mParamAnotherSubGroup(AnotherSubGroup)
+{
+  KConfigGroup cgGeneralGroup(this->config(), QStringLiteral( "%1" ).arg( mParamGeneralGroup ));
+  KConfigGroup cgSubGroup = cgGeneralGroup.group(QStringLiteral( "%1" ).arg( mParamSubGroup ));
+  KConfigSkeleton::ItemBool  *itemFoo;
+  itemFoo = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Foo" ), mFoo, true );
+  itemFoo->setWriteFlags(KConfigBase::Notify);
+  itemFoo->setGroup(cgSubGroup);
+  addItem( itemFoo, QStringLiteral( "Foo" ) );
+
+  KConfigGroup cgother = cgGeneralGroup.group(QStringLiteral( "other" ));
+  KConfigSkeleton::ItemInt  *itemBar;
+  itemBar = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Bar" ), mBar, 42 );
+  itemBar->setWriteFlags(KConfigBase::Notify);
+  itemBar->setGroup(cgother);
+  addItem( itemBar, QStringLiteral( "Bar" ) );
+
+  KConfigGroup cgParentGroup(this->config(), QStringLiteral( "ParentGroup" ));
+  KConfigGroup cgAnotherSubGroup = cgParentGroup.group(QStringLiteral( "%1" ).arg( mParamAnotherSubGroup ));
+  KConfigSkeleton::ItemBool  *itemBaz;
+  itemBaz = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Baz" ), mBaz, true );
+  itemBaz->setWriteFlags(KConfigBase::Notify);
+  itemBaz->setGroup(cgAnotherSubGroup);
+  addItem( itemBaz, QStringLiteral( "Baz" ) );
+
+  KConfigGroup cgSimpleParentGroup(this->config(), QStringLiteral( "SimpleParentGroup" ));
+  KConfigGroup cgSimpleGroup = cgSimpleParentGroup.group(QStringLiteral( "SimpleGroup" ));
+  KConfigSkeleton::ItemBool  *itemFoobar;
+  itemFoobar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Foobar" ), mFoobar, true );
+  itemFoobar->setWriteFlags(KConfigBase::Notify);
+  itemFoobar->setGroup(cgSimpleGroup);
+  addItem( itemFoobar, QStringLiteral( "Foobar" ) );
+}
+
+TestSubgroups::~TestSubgroups()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_subgroups.h.ref b/autotests/kconfig_compiler/test_subgroups.h.ref
new file mode 100644 (file)
index 0000000..96a8cc0
--- /dev/null
@@ -0,0 +1,102 @@
+// This file is generated by kconfig_compiler_kf6 from test_subgroups.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTSUBGROUPS_H
+#define TESTSUBGROUPS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestSubgroups : public KConfigSkeleton
+{
+  public:
+
+    TestSubgroups( const QString & GeneralGroup, const QString & SubGroup, const QString & AnotherSubGroup );
+    ~TestSubgroups() override;
+
+    /**
+      Get Foo
+    */
+    bool foo() const
+    {
+      return mFoo;
+    }
+
+    /**
+      Is Foo Immutable
+    */
+    bool isFooImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Foo" ) );
+    }
+
+    /**
+      Get Bar
+    */
+    int bar() const
+    {
+      return mBar;
+    }
+
+    /**
+      Is Bar Immutable
+    */
+    bool isBarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Bar" ) );
+    }
+
+    /**
+      Get Baz
+    */
+    bool baz() const
+    {
+      return mBaz;
+    }
+
+    /**
+      Is Baz Immutable
+    */
+    bool isBazImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Baz" ) );
+    }
+
+    /**
+      Get Foobar
+    */
+    bool foobar() const
+    {
+      return mFoobar;
+    }
+
+    /**
+      Is Foobar Immutable
+    */
+    bool isFoobarImmutable() const
+    {
+      return isImmutable( QStringLiteral( "Foobar" ) );
+    }
+
+  protected:
+    QString mParamGeneralGroup;
+    QString mParamSubGroup;
+    QString mParamAnotherSubGroup;
+
+    // $(SubGroup)
+    bool mFoo;
+
+    // other
+    int mBar;
+
+    // $(AnotherSubGroup)
+    bool mBaz;
+
+    // SimpleGroup
+    bool mFoobar;
+
+  private:
+};
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_subgroups.kcfg b/autotests/kconfig_compiler/test_subgroups.kcfg
new file mode 100644 (file)
index 0000000..9d660bc
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+    <kcfgfile name="kconfig_compiler_kf6_test_rc">
+        <parameter name="GeneralGroup" />
+        <parameter name="SubGroup"/>
+        <parameter name="AnotherSubGroup"/>
+    </kcfgfile>
+    <group name="$(SubGroup)" parentGroupName="$(GeneralGroup)">
+        <entry name="Foo" type="Bool">
+            <default>true</default>
+        </entry>
+    </group>
+    <group name="other" parentGroupName="$(GeneralGroup)">
+        <entry name="Bar" type="Int">
+            <default>42</default>
+        </entry>
+    </group>
+    <group name="$(AnotherSubGroup)" parentGroupName="ParentGroup">
+        <entry name="Baz" type="Bool">
+            <default>true</default>
+        </entry>
+    </group>
+    <group name="SimpleGroup" parentGroupName="SimpleParentGroup">
+        <entry name="Foobar" type="Bool">
+            <default>true</default>
+        </entry>
+    </group>
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_subgroups.kcfgc b/autotests/kconfig_compiler/test_subgroups.kcfgc
new file mode 100644 (file)
index 0000000..971964b
--- /dev/null
@@ -0,0 +1,3 @@
+File=test_subgroups.kcfg
+ClassName=TestSubgroups
+Notifiers=true
diff --git a/autotests/kconfig_compiler/test_subgroups_main.cpp b/autotests/kconfig_compiler/test_subgroups_main.cpp
new file mode 100644 (file)
index 0000000..63b7c30
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+    This file is part of KDE.
+
+    Copyright (C) 2020 Cyril Rossi <cyril.rossi@enioka.com>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#include "test_subgroups.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestSubgroups t = TestSubgroups(QStringLiteral("General"), QStringLiteral("Sub"), QStringLiteral("AnotherSub"));
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_translation.kcfg b/autotests/kconfig_compiler/test_translation.kcfg
new file mode 100644 (file)
index 0000000..ca2c208
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+  <kcfgfile name="test_translation_rc"/>
+
+  <group name="General">
+    <entry type="Bool" key="Auto Save">
+      <label>Enable automatic saving of calendar</label>
+      <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+      <default>false</default>
+    </entry>
+  </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_translation_kde.cpp.ref b/autotests/kconfig_compiler/test_translation_kde.cpp.ref
new file mode 100644 (file)
index 0000000..ca7afa2
--- /dev/null
@@ -0,0 +1,25 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_kde.h"
+
+#include <klocalizedstring.h>
+
+using namespace TestNameSpace;
+
+TestTranslationKde::TestTranslationKde( )
+  : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  KConfigSkeleton::ItemBool  *itemAutoSave;
+  itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  itemAutoSave->setLabel( i18n("Enable automatic saving of calendar") );
+  itemAutoSave->setWhatsThis( i18nc("@info:whatsthis", "Enable automatic saving of calendars to have calendars saved automatically.") );
+  addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationKde::~TestTranslationKde()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_translation_kde.h.ref b/autotests/kconfig_compiler/test_translation_kde.h.ref
new file mode 100644 (file)
index 0000000..2effe3d
--- /dev/null
@@ -0,0 +1,47 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONKDE_H
+#define TESTNAMESPACE_TESTTRANSLATIONKDE_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationKde : public KConfigSkeleton
+{
+  public:
+
+    TestTranslationKde( );
+    ~TestTranslationKde() override;
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+  protected:
+
+    // General
+    bool mAutoSave;
+
+  private:
+};
+
+}
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_translation_kde.kcfgc b/autotests/kconfig_compiler/test_translation_kde.kcfgc
new file mode 100644 (file)
index 0000000..8f107e8
--- /dev/null
@@ -0,0 +1,6 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationKde
+SetUserTexts=true
+TranslationSystem=kde
diff --git a/autotests/kconfig_compiler/test_translation_kde_domain.cpp.ref b/autotests/kconfig_compiler/test_translation_kde_domain.cpp.ref
new file mode 100644 (file)
index 0000000..a5c70c4
--- /dev/null
@@ -0,0 +1,25 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_kde_domain.h"
+
+#include <klocalizedstring.h>
+
+using namespace TestNameSpace;
+
+TestTranslationKdeDomain::TestTranslationKdeDomain( )
+  : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  KConfigSkeleton::ItemBool  *itemAutoSave;
+  itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  itemAutoSave->setLabel( i18nd("test-kcfg-kde", "Enable automatic saving of calendar") );
+  itemAutoSave->setWhatsThis( i18ndc("test-kcfg-kde", "@info:whatsthis", "Enable automatic saving of calendars to have calendars saved automatically.") );
+  addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationKdeDomain::~TestTranslationKdeDomain()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_translation_kde_domain.h.ref b/autotests/kconfig_compiler/test_translation_kde_domain.h.ref
new file mode 100644 (file)
index 0000000..2587448
--- /dev/null
@@ -0,0 +1,47 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONKDEDOMAIN_H
+#define TESTNAMESPACE_TESTTRANSLATIONKDEDOMAIN_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationKdeDomain : public KConfigSkeleton
+{
+  public:
+
+    TestTranslationKdeDomain( );
+    ~TestTranslationKdeDomain() override;
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+  protected:
+
+    // General
+    bool mAutoSave;
+
+  private:
+};
+
+}
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_translation_kde_domain.kcfgc b/autotests/kconfig_compiler/test_translation_kde_domain.kcfgc
new file mode 100644 (file)
index 0000000..32d3e6a
--- /dev/null
@@ -0,0 +1,7 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationKdeDomain
+SetUserTexts=true
+TranslationSystem=kde
+TranslationDomain=test-kcfg-kde
diff --git a/autotests/kconfig_compiler/test_translation_kde_domain_main.cpp b/autotests/kconfig_compiler/test_translation_kde_domain_main.cpp
new file mode 100644 (file)
index 0000000..45492b7
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_kde_domain.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNameSpace::TestTranslationKdeDomain t = TestNameSpace::TestTranslationKdeDomain();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_translation_kde_main.cpp b/autotests/kconfig_compiler/test_translation_kde_main.cpp
new file mode 100644 (file)
index 0000000..e89748b
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_kde.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNameSpace::TestTranslationKde t = TestNameSpace::TestTranslationKde();
+    return 0;
+}
diff --git a/autotests/kconfig_compiler/test_translation_qt.cpp.ref b/autotests/kconfig_compiler/test_translation_qt.cpp.ref
new file mode 100644 (file)
index 0000000..2d3109e
--- /dev/null
@@ -0,0 +1,23 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_qt.h"
+
+using namespace TestNameSpace;
+
+TestTranslationQt::TestTranslationQt( )
+  : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+  setCurrentGroup( QStringLiteral( "General" ) );
+
+  KConfigSkeleton::ItemBool  *itemAutoSave;
+  itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+  itemAutoSave->setLabel( QCoreApplication::translate("TestTranslationQt", "Enable automatic saving of calendar") );
+  itemAutoSave->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("TestTranslationQt", "Enable automatic saving of calendars to have calendars saved automatically.") );
+  addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationQt::~TestTranslationQt()
+{
+}
+
diff --git a/autotests/kconfig_compiler/test_translation_qt.h.ref b/autotests/kconfig_compiler/test_translation_qt.h.ref
new file mode 100644 (file)
index 0000000..afd8440
--- /dev/null
@@ -0,0 +1,47 @@
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONQT_H
+#define TESTNAMESPACE_TESTTRANSLATIONQT_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationQt : public KConfigSkeleton
+{
+  public:
+
+    TestTranslationQt( );
+    ~TestTranslationQt() override;
+
+    /**
+      Get Enable automatic saving of calendar
+    */
+    bool autoSave() const
+    {
+      return mAutoSave;
+    }
+
+    /**
+      Is Enable automatic saving of calendar Immutable
+    */
+    bool isAutoSaveImmutable() const
+    {
+      return isImmutable( QStringLiteral( "AutoSave" ) );
+    }
+
+  protected:
+
+    // General
+    bool mAutoSave;
+
+  private:
+};
+
+}
+
+#endif
+
diff --git a/autotests/kconfig_compiler/test_translation_qt.kcfgc b/autotests/kconfig_compiler/test_translation_qt.kcfgc
new file mode 100644 (file)
index 0000000..31b0fe9
--- /dev/null
@@ -0,0 +1,6 @@
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationQt
+SetUserTexts=true
+TranslationSystem=qt
diff --git a/autotests/kconfig_compiler/test_translation_qt_main.cpp b/autotests/kconfig_compiler/test_translation_qt_main.cpp
new file mode 100644 (file)
index 0000000..95877d9
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+    SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+    SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_qt.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+    QGuiApplication app(argc, argv);
+    Q_UNUSED(app);
+    TestNameSpace::TestTranslationQt t = TestNameSpace::TestTranslationQt();
+    return 0;
+}
diff --git a/autotests/kconfigguitest.cpp b/autotests/kconfigguitest.cpp
new file mode 100644 (file)
index 0000000..ffb7af3
--- /dev/null
@@ -0,0 +1,150 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigguitest.h"
+#include <QtTestGui>
+
+#include <QDir>
+#include <QFont>
+#include <QStandardPaths>
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kconfigskeleton.h>
+
+QTEST_MAIN(KConfigTest)
+
+// clazy:excludeall=non-pod-global-static
+
+static const QColor s_color_entry1(QLatin1String{"steelblue"});
+static const QColor s_color_entry2(235, 235, 100, 125);
+static const QColor s_color_entry3(234, 234, 127);
+
+static QFont fontEntry()
+{
+    return QFont{QStringLiteral("Times"), 16, QFont::Normal};
+}
+
+void KConfigTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+
+    // cheat the linker on windows to link against kconfiggui
+    KConfigSkeleton foo;
+    Q_UNUSED(foo);
+
+    KConfig sc(QStringLiteral("kconfigtest"));
+
+    KConfigGroup cg(&sc, QStringLiteral("ComplexTypes"));
+    cg.writeEntry("colorEntry1", s_color_entry1);
+    cg.writeEntry("colorEntry2", s_color_entry2);
+    cg.writeEntry("colorEntry3", (QList<int>() << 234 << 234 << 127));
+    cg.writeEntry("colorEntry4", (QList<int>() << 235 << 235 << 100 << 125));
+    cg.writeEntry("fontEntry", fontEntry());
+    QVERIFY(sc.sync());
+
+    KConfig sc1(QStringLiteral("kdebugrc"));
+    KConfigGroup sg0(&sc1, QStringLiteral("0"));
+    sg0.writeEntry("AbortFatal", false);
+    sg0.writeEntry("WarnOutput", 0);
+    sg0.writeEntry("FatalOutput", 0);
+    QVERIFY(sc1.sync());
+
+    // Qt 5.8.0 would fail the fromString(toString) roundtrip in QFont
+    // if the qApp font has a styleName set.
+    // This is fixed by https://codereview.qt-project.org/181645
+    // It's not in yet, and it depends on the app font, so rather than
+    // a version check, let's do a runtime check.
+    QFont orig(fontEntry());
+    QFont f;
+    f.fromString(orig.toString());
+    m_fontFromStringBug = (f.toString() != orig.toString());
+    if (m_fontFromStringBug) {
+        qDebug() << "QFont::fromString serialization bug (Qt 5.8.0), the font test will be skipped" << f.toString() << "!=" << orig.toString();
+    }
+}
+
+void KConfigTest::cleanupTestCase()
+{
+    QDir dir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation));
+    QVERIFY(dir.removeRecursively());
+}
+
+void KConfigTest::testComplex()
+{
+    KConfig sc2(QStringLiteral("kconfigtest"));
+    KConfigGroup sc3(&sc2, QStringLiteral("ComplexTypes"));
+
+    QCOMPARE(QVariant(sc3.readEntry("colorEntry1", QColor(Qt::black))).toString(), QVariant(s_color_entry1).toString());
+    QCOMPARE(sc3.readEntry("colorEntry1", QColor()), s_color_entry1);
+    QCOMPARE(sc3.readEntry("colorEntry2", QColor()), s_color_entry2);
+    QCOMPARE(sc3.readEntry("colorEntry3", QColor()), s_color_entry3);
+    QCOMPARE(sc3.readEntry("colorEntry4", QColor()), s_color_entry2);
+    QCOMPARE(sc3.readEntry("defaultColorTest", QColor("black")), QColor("black"));
+    if (m_fontFromStringBug) {
+        QEXPECT_FAIL("", "QFont fromString bug from Qt 5.8.0", Continue);
+    }
+    QCOMPARE(sc3.readEntry("fontEntry", QFont()), fontEntry());
+}
+
+void KConfigTest::testInvalid()
+{
+    KConfig sc(QStringLiteral("kconfigtest"));
+
+    // all of these should print a message to the kdebug.dbg file
+    KConfigGroup sc3(&sc, QStringLiteral("InvalidTypes"));
+
+    QList<int> list;
+
+    // 1 element list
+    list << 1;
+    sc3.writeEntry(QStringLiteral("badList"), list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+    // 2 element list
+    list << 2;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+    // 3 element list
+    list << 303;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+    // 4 element list
+    list << 4;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+    list[2] = -3;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+    // 5 element list
+    list[2] = 3;
+    list << 5;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+    // 6 element list
+    list << 6;
+    sc3.writeEntry("badList", list);
+    QVERIFY(sc.sync());
+
+    QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+}
+
+#include "moc_kconfigguitest.cpp"
diff --git a/autotests/kconfigguitest.h b/autotests/kconfigguitest.h
new file mode 100644 (file)
index 0000000..607575d
--- /dev/null
@@ -0,0 +1,25 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KCONFIGTEST_H
+#define KCONFIGTEST_H
+
+#include <QObject>
+
+class KConfigTest : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void testComplex();
+    void testInvalid();
+    void initTestCase();
+    void cleanupTestCase();
+
+private:
+    bool m_fontFromStringBug;
+};
+
+#endif /* KCONFIGTEST_H */
diff --git a/autotests/kconfigloadertest.cpp b/autotests/kconfigloadertest.cpp
new file mode 100644 (file)
index 0000000..c20d8b9
--- /dev/null
@@ -0,0 +1,234 @@
+/*
+    SPDX-FileCopyrightText: 2010 Martin Blumenstingl <darklight.xdarklight@googlemail.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "kconfigloadertest.h"
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kconfigloader.h>
+#include <kconfigskeleton.h>
+
+Q_DECLARE_METATYPE(QList<int>)
+
+static const QString s_testName(QStringLiteral("kconfigloadertest")); // clazy:exclude=non-pod-global-static
+
+#define GET_CONFIG_ITEM_VALUE(type, configName)                                                                                                                \
+    KConfigSkeletonItem *item = cl->findItem(s_testName, configName);                                                                                          \
+    /* Check if we got back a valid item. */                                                                                                                   \
+    QVERIFY(item != nullptr);                                                                                                                                  \
+    /* Cast the item to the given type. */                                                                                                                     \
+    type typeItem = dynamic_cast<type>(item);                                                                                                                  \
+    /* Make sure the cast was successful. */                                                                                                                   \
+    QVERIFY(typeItem != nullptr);
+
+void ConfigLoaderTest::init()
+{
+    QString fileName = s_testName + QLatin1String(".xml");
+    configFile = new QFile(QFINDTESTDATA(QString::fromLatin1("/") + fileName));
+    cl = new KConfigLoader(configFile->fileName(), configFile);
+}
+
+void ConfigLoaderTest::cleanup()
+{
+    delete cl;
+    delete configFile;
+}
+
+void ConfigLoaderTest::boolDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemBool *, QStringLiteral("DefaultBoolItem"));
+
+    QVERIFY(typeItem->isEqual(true));
+}
+
+void ConfigLoaderTest::colorDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemColor *, QStringLiteral("DefaultColorItem"));
+
+    QVERIFY(typeItem->isEqual(QColor("#00FF00")));
+}
+
+void ConfigLoaderTest::dateTimeDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemDateTime *, QStringLiteral("DefaultDateTimeItem"));
+
+    QVERIFY(typeItem->isEqual(QDateTime::fromString(QStringLiteral("Thu Sep 09 2010"))));
+}
+
+void ConfigLoaderTest::enumDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemEnum *, QStringLiteral("DefaultEnumItem"));
+
+    QVERIFY(typeItem->isEqual(3));
+}
+
+void ConfigLoaderTest::enumDefaultValueString()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemEnum *, QStringLiteral("DefaultEnumItemString"));
+
+    QVERIFY(typeItem->isEqual(2));
+}
+
+void ConfigLoaderTest::fontDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemFont *, QStringLiteral("DefaultFontItem"));
+
+    QVERIFY(typeItem->isEqual(QFont(QStringLiteral("DejaVu Sans"))));
+}
+
+void ConfigLoaderTest::intDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemInt *, QStringLiteral("DefaultIntItem"));
+
+    QVERIFY(typeItem->isEqual(27));
+}
+
+void ConfigLoaderTest::passwordDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemPassword *, QStringLiteral("DefaultPasswordItem"));
+
+    QVERIFY(typeItem->isEqual(QString::fromLatin1("h4x.")));
+}
+
+void ConfigLoaderTest::pathDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemPath *, QStringLiteral("DefaultPathItem"));
+
+    QVERIFY(typeItem->isEqual(QString::fromLatin1("/dev/null")));
+}
+
+void ConfigLoaderTest::stringDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemString *, QStringLiteral("DefaultStringItem"));
+
+    QVERIFY(typeItem->isEqual(QString::fromLatin1("TestString")));
+}
+
+void ConfigLoaderTest::stringListDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemStringList *, QStringLiteral("DefaultStringListItem"));
+
+    // Create a string list with the expected values.
+    QStringList expected;
+    expected.append(QStringLiteral("One"));
+    expected.append(QStringLiteral("Two"));
+    expected.append(QStringLiteral("Three"));
+    expected.append(QStringLiteral("Four"));
+    expected.append(QStringLiteral("Five"));
+
+    QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::uintDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemUInt *, QStringLiteral("DefaultUIntItem"));
+
+    QVERIFY(typeItem->isEqual(7U));
+}
+
+void ConfigLoaderTest::urlDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemUrl *, QStringLiteral("DefaultUrlItem"));
+
+    QVERIFY(typeItem->isEqual(QUrl(QStringLiteral("http://kde.org"))));
+}
+
+void ConfigLoaderTest::doubleDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemDouble *, QStringLiteral("DefaultDoubleItem"));
+
+    QVERIFY(typeItem->isEqual(13.37));
+}
+
+void ConfigLoaderTest::intListDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemIntList *, QStringLiteral("DefaultIntListItem"));
+
+    // Create a int list with the expected values.
+    QList<int> expected;
+    expected.append(1);
+    expected.append(1);
+    expected.append(2);
+    expected.append(3);
+    expected.append(5);
+    expected.append(8);
+
+    QVERIFY(typeItem->isEqual(QVariant::fromValue(expected)));
+}
+
+void ConfigLoaderTest::intListEmptyDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemIntList *, QStringLiteral("EmptyDefaultIntListItem"));
+
+    QVERIFY(typeItem->value().isEmpty());
+}
+
+void ConfigLoaderTest::longLongDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemLongLong *, QStringLiteral("DefaultLongLongItem"));
+
+    QVERIFY(typeItem->isEqual(Q_INT64_C(-9211372036854775808)));
+}
+
+void ConfigLoaderTest::pointDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemPoint *, QStringLiteral("DefaultPointItem"));
+
+    QVERIFY(typeItem->isEqual(QPoint(185, 857)));
+}
+
+void ConfigLoaderTest::pointFDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemPointF *, QStringLiteral("DefaultPointFItem"));
+
+    QVERIFY(typeItem->isEqual(QPointF(185.5, 857.5)));
+}
+
+void ConfigLoaderTest::rectDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemRect *, QStringLiteral("DefaultRectItem"));
+
+    // Create a new QRect with the expected value.
+    QRect expected;
+    expected.setCoords(3, 7, 951, 358);
+
+    QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::rectFDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemRectF *, QStringLiteral("DefaultRectFItem"));
+
+    // Create a new QRectF with the expected value.
+    QRectF expected;
+    expected.setCoords(3.5, 7.5, 951.5, 358.5);
+
+    QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::sizeDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemSize *, QStringLiteral("DefaultSizeItem"));
+
+    QVERIFY(typeItem->isEqual(QSize(640, 480)));
+}
+
+void ConfigLoaderTest::sizeFDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemSizeF *, QStringLiteral("DefaultSizeFItem"));
+
+    QVERIFY(typeItem->isEqual(QSizeF(640.5, 480.5)));
+}
+
+void ConfigLoaderTest::ulongLongDefaultValue()
+{
+    GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemULongLong *, QStringLiteral("DefaultULongLongItem"));
+
+    QVERIFY(typeItem->isEqual(Q_UINT64_C(9223372036854775806)));
+}
+
+QTEST_MAIN(ConfigLoaderTest)
+
+#include "moc_kconfigloadertest.cpp"
diff --git a/autotests/kconfigloadertest.h b/autotests/kconfigloadertest.h
new file mode 100644 (file)
index 0000000..2ad259a
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+    SPDX-FileCopyrightText: 2010 Martin Blumenstingl <darklight.xdarklight@googlemail.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADERTEST_H
+#define KCONFIGLOADERTEST_H
+
+#include <QTest>
+
+class KConfigLoader;
+
+class QFile;
+
+class ConfigLoaderTest : public QObject
+{
+    Q_OBJECT
+
+public Q_SLOTS:
+    void init();
+    void cleanup();
+
+private Q_SLOTS:
+    void boolDefaultValue();
+    void colorDefaultValue();
+    void dateTimeDefaultValue();
+    void enumDefaultValue();
+    void enumDefaultValueString();
+    void fontDefaultValue();
+    void intDefaultValue();
+    void passwordDefaultValue();
+    void pathDefaultValue();
+    void stringDefaultValue();
+    void stringListDefaultValue();
+    void uintDefaultValue();
+    void urlDefaultValue();
+    void doubleDefaultValue();
+    void intListEmptyDefaultValue();
+    void intListDefaultValue();
+    void longLongDefaultValue();
+    void pointDefaultValue();
+    void pointFDefaultValue();
+    void rectDefaultValue();
+    void rectFDefaultValue();
+    void sizeDefaultValue();
+    void sizeFDefaultValue();
+    void ulongLongDefaultValue();
+
+private:
+    KConfigLoader *cl;
+    QFile *configFile;
+};
+
+#endif
diff --git a/autotests/kconfigloadertest.xml b/autotests/kconfigloadertest.xml
new file mode 100644 (file)
index 0000000..84d9357
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+        <kcfgfile name="keystatusplasmoidrc"/>
+
+        <group name="kconfigloadertest">
+                <entry name="DefaultBoolItem" type="Bool">
+                        <default>true</default>
+                </entry>
+                <entry name="DefaultColorItem" type="Color">
+                        <default>#00FF00</default>
+                </entry>
+                <entry name="DefaultDateTimeItem" type="DateTime">
+                        <default>Thu Sep 09 2010</default>
+                </entry>
+                <entry name="DefaultEnumItem" type="Enum">
+                        <default>3</default>
+                        <choice name="One" value="1" />
+                        <choice name="Two" value="2" />
+                        <choice name="Three" value="3" />
+                        <choice name="Four" value="4" />
+                </entry>
+                <entry name="DefaultEnumItemString" type="Enum">
+                        <default>Coconuts</default>
+                        <choice name="Apples" />
+                        <choice name="Oranges" />
+                        <choice name="Coconuts" />
+                        <choice name="Grapes" />
+                </entry>
+                <entry name="DefaultFontItem" type="Font">
+                        <default>DejaVu Sans</default>
+                </entry>
+                <entry name="DefaultIntItem" type="Int">
+                        <default>27</default>
+                </entry>
+                <entry name="DefaultPasswordItem" type="Password">
+                        <default>h4x.</default>
+                </entry>
+                <entry name="DefaultPathItem" type="Path">
+                        <default>/dev/null</default>
+                </entry>
+                <entry name="DefaultStringItem" type="String">
+                        <default>TestString</default>
+                </entry>
+                <entry name="DefaultStringListItem" type="StringList">
+                        <default>One,Two,Three,Four,Five</default>
+                </entry>
+                <entry name="DefaultUIntItem" type="UInt">
+                        <default>7</default>
+                </entry>
+                <entry name="DefaultUrlItem" type="Url">
+                        <default>http://kde.org</default>
+                </entry>
+                <entry name="DefaultDoubleItem" type="Double">
+                        <default>13.37</default>
+                </entry>
+                <entry name="EmptyDefaultIntListItem" type="IntList">
+                        <default></default>
+                </entry>
+                <entry name="DefaultIntListItem" type="IntList">
+                        <default>1,1,2,3,5,8</default>
+                </entry>
+                <entry name="DefaultLongLongItem" type="LongLong">
+                        <default>-9211372036854775808</default>
+                </entry>
+                <entry name="DefaultPointItem" type="Point">
+                        <default>185,857</default>
+                </entry>
+                <entry name="DefaultPointFItem" type="PointF">
+                        <default>185.5,857.5</default>
+                </entry>
+                <entry name="DefaultRectItem" type="Rect">
+                        <default>3,7,951,358</default>
+                </entry>
+                <entry name="DefaultRectFItem" type="RectF">
+                        <default>3.5,7.5,951.5,358.5</default>
+                </entry>
+                <entry name="DefaultSizeItem" type="Size">
+                        <default>640,480</default>
+                </entry>
+                <entry name="DefaultSizeFItem" type="SizeF">
+                        <default>640.5,480.5</default>
+                </entry>
+                <entry name="DefaultULongLongItem" type="ULongLong">
+                        <default>9223372036854775806</default>
+                </entry>
+        </group>
+</kcfg>
diff --git a/autotests/kconfignokdehometest.cpp b/autotests/kconfignokdehometest.cpp
new file mode 100644 (file)
index 0000000..3aa45df
--- /dev/null
@@ -0,0 +1,51 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2011 David Faure <faure@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QObject>
+
+#include <QStandardPaths>
+#include <QTest>
+#include <ksharedconfig.h>
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+class KConfigNoKdeHomeTest : public QObject
+{
+    Q_OBJECT
+
+private Q_SLOTS:
+    void testNoKdeHome();
+};
+
+void KConfigNoKdeHomeTest::testNoKdeHome()
+{
+    QStandardPaths::setTestModeEnabled(true);
+    QString configPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+    QDir configDir(configPath);
+    QVERIFY(configDir.removeRecursively());
+    QVERIFY(!QFile::exists(configPath));
+
+    // Do what kf5-config does, and ensure the config directory doesn't get created (#233892)
+    QVERIFY(!QFile::exists(configPath));
+    KSharedConfig::openConfig();
+    QVERIFY(!QFile::exists(configPath));
+
+    // Now try to actually save something, see if it works.
+    KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Group"));
+    group.writeEntry("Key", "Value");
+    group.sync();
+    QVERIFY(QFile::exists(configPath));
+    const QString rcFile = QCoreApplication::applicationName() + QStringLiteral("rc");
+    QVERIFY(QFile::exists(configPath + QLatin1Char('/') + rcFile));
+
+    // Cleanup
+    configDir.removeRecursively();
+}
+
+QTEST_MAIN(KConfigNoKdeHomeTest)
+
+#include "kconfignokdehometest.moc"
diff --git a/autotests/kconfigskeletontest.cpp b/autotests/kconfigskeletontest.cpp
new file mode 100644 (file)
index 0000000..121ec7d
--- /dev/null
@@ -0,0 +1,180 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006 Olivier Goffart <ogoffart at kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigskeletontest.h"
+
+#include <QFont>
+#include <QtTestGui>
+#include <kconfig.h>
+
+QTEST_MAIN(KConfigSkeletonTest)
+
+// clazy:excludeall=non-pod-global-static
+
+static const bool s_default_setting1{false};
+static const QColor s_default_setting2{1, 2, 3};
+static const QString s_default_setting4{QStringLiteral("Hello World")};
+
+static const bool s_write_setting1{true};
+static const QColor s_write_setting2{3, 2, 1};
+static const QString s_write_setting4{QStringLiteral("KDE")};
+
+static QFont defaultSetting3()
+{
+    return QFont{QStringLiteral("helvetica"), 12};
+}
+
+static QFont writeSettings3()
+{
+    return QFont{QStringLiteral("helvetica"), 14};
+}
+
+void KConfigSkeletonTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+}
+
+void KConfigSkeletonTest::init()
+{
+    QFile::remove(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/kconfigskeletontestrc"});
+    s = new KConfigSkeleton(QStringLiteral("kconfigskeletontestrc"));
+    s->setCurrentGroup(QStringLiteral("MyGroup"));
+    itemBool = s->addItemBool(QStringLiteral("MySetting1"), mMyBool, s_default_setting1);
+    s->addItemColor(QStringLiteral("MySetting2"), mMyColor, s_default_setting2);
+
+    s->setCurrentGroup(QStringLiteral("MyOtherGroup"));
+    s->addItemFont(QStringLiteral("MySetting3"), mMyFont, defaultSetting3());
+    s->addItemString(QStringLiteral("MySetting4"), mMyString, s_default_setting4);
+
+    QCOMPARE(mMyBool, s_default_setting1);
+    QCOMPARE(mMyColor, s_default_setting2);
+    QCOMPARE(mMyFont, defaultSetting3());
+    QCOMPARE(mMyString, s_default_setting4);
+
+    QVERIFY(s->isDefaults());
+    QVERIFY(!s->isSaveNeeded());
+}
+
+void KConfigSkeletonTest::cleanup()
+{
+    delete s;
+}
+
+void KConfigSkeletonTest::testSimple()
+{
+    mMyBool = s_write_setting1;
+    mMyColor = s_write_setting2;
+    mMyFont = writeSettings3();
+    mMyString = s_write_setting4;
+
+    QVERIFY(s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    s->save();
+
+    QVERIFY(!s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    mMyBool = false;
+    mMyColor = QColor();
+    mMyString.clear();
+    mMyFont = QFont();
+
+    QVERIFY(s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    s->read();
+
+    QVERIFY(!s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    QCOMPARE(mMyBool, s_write_setting1);
+    QCOMPARE(mMyColor, s_write_setting2);
+    QCOMPARE(mMyFont, writeSettings3());
+    QCOMPARE(mMyString, s_write_setting4);
+}
+
+void KConfigSkeletonTest::testRemoveItem()
+{
+    QVERIFY(s->findItem(QStringLiteral("MySetting1")));
+    s->removeItem(QStringLiteral("MySetting1"));
+    QVERIFY(!s->findItem(QStringLiteral("MySetting1")));
+}
+
+void KConfigSkeletonTest::testClear()
+{
+    QVERIFY(s->findItem(QStringLiteral("MySetting2")));
+    QVERIFY(s->findItem(QStringLiteral("MySetting3")));
+    QVERIFY(s->findItem(QStringLiteral("MySetting4")));
+
+    s->clearItems();
+
+    QVERIFY(!s->findItem(QStringLiteral("MySetting2")));
+    QVERIFY(!s->findItem(QStringLiteral("MySetting3")));
+    QVERIFY(!s->findItem(QStringLiteral("MySetting4")));
+}
+
+void KConfigSkeletonTest::testDefaults()
+{
+    mMyBool = s_write_setting1;
+    mMyColor = s_write_setting2;
+    mMyFont = writeSettings3();
+    mMyString = s_write_setting4;
+
+    QVERIFY(s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    s->save();
+
+    QVERIFY(!s->isSaveNeeded());
+    QVERIFY(!s->isDefaults());
+
+    s->setDefaults();
+
+    QVERIFY(s->isSaveNeeded());
+    QVERIFY(s->isDefaults());
+
+    QCOMPARE(mMyBool, s_default_setting1);
+    QCOMPARE(mMyColor, s_default_setting2);
+    QCOMPARE(mMyFont, defaultSetting3());
+    QCOMPARE(mMyString, s_default_setting4);
+
+    s->save();
+
+    QVERIFY(!s->isSaveNeeded());
+    QVERIFY(s->isDefaults());
+}
+
+void KConfigSkeletonTest::testKConfigDirty()
+{
+    itemBool->setValue(true);
+    itemBool->writeConfig(s->sharedConfig().data());
+    QVERIFY(s->sharedConfig()->isDirty());
+    s->save();
+    QVERIFY(!s->sharedConfig()->isDirty());
+
+    itemBool->setValue(false);
+    itemBool->writeConfig(s->sharedConfig().data());
+    QVERIFY(s->sharedConfig()->isDirty());
+    s->save();
+    QVERIFY(!s->sharedConfig()->isDirty());
+}
+
+void KConfigSkeletonTest::testSaveRead()
+{
+    itemBool->setValue(true);
+    s->save();
+
+    itemBool->setValue(false);
+    s->save();
+
+    mMyBool = true;
+
+    s->read();
+    QCOMPARE(mMyBool, false);
+}
+
+#include "moc_kconfigskeletontest.cpp"
diff --git a/autotests/kconfigskeletontest.h b/autotests/kconfigskeletontest.h
new file mode 100644 (file)
index 0000000..8c6d3aa
--- /dev/null
@@ -0,0 +1,35 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006 Olivier Goffart <ogoffart at kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KCONFIGSKELETONTEST_H
+#define KCONFIGSKELETONTEST_H
+
+#include <kconfigskeleton.h>
+
+class KConfigSkeletonTest : public QObject
+{
+    Q_OBJECT
+public:
+private Q_SLOTS:
+    void initTestCase();
+    void init();
+    void cleanup();
+    void testSimple();
+    void testDefaults();
+    void testRemoveItem();
+    void testClear();
+    void testKConfigDirty();
+    void testSaveRead();
+
+private:
+    KConfigSkeleton *s;
+    KConfigSkeleton::ItemBool *itemBool;
+    bool mMyBool;
+    QColor mMyColor;
+    QFont mMyFont;
+    QString mMyString;
+};
+
+#endif
diff --git a/autotests/kconfigtest.cpp b/autotests/kconfigtest.cpp
new file mode 100644 (file)
index 0000000..38714e6
--- /dev/null
@@ -0,0 +1,2164 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigtest.h"
+#include "helper.h"
+
+#include "config-kconfig.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTemporaryFile>
+#include <QTest>
+#include <kdesktopfile.h>
+#include <qtemporarydir.h>
+
+#include <kauthorized.h>
+#include <kconfiggroup.h>
+#include <kconfigwatcher.h>
+#include <ksharedconfig.h>
+
+#ifdef Q_OS_UNIX
+#include <utime.h>
+#endif
+#ifndef Q_OS_WIN
+#include <unistd.h> // getuid
+#endif
+
+KCONFIGGROUP_DECLARE_ENUM_QOBJECT(KConfigTest, Testing)
+KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(KConfigTest, Flags)
+
+QTEST_MAIN(KConfigTest)
+
+Q_DECLARE_METATYPE(KConfigGroup)
+
+static QString homePath()
+{
+#ifdef Q_OS_WIN
+    return QDir::homePath();
+#else
+    // Don't use QDir::homePath() on Unix, it removes any trailing slash, while KConfig uses $HOME.
+    return QString::fromLocal8Bit(qgetenv("HOME"));
+#endif
+}
+
+// clazy:excludeall=non-pod-global-static
+
+static const bool s_bool_entry1 = true;
+static const bool s_bool_entry2 = false;
+
+static const QString s_string_entry1(QStringLiteral("hello"));
+static const QString s_string_entry2(QStringLiteral(" hello"));
+static const QString s_string_entry3(QStringLiteral("hello "));
+static const QString s_string_entry4(QStringLiteral(" hello "));
+static const QString s_string_entry5(QStringLiteral(" "));
+static const QString s_string_entry6{};
+
+static const char s_utf8bit_entry[] = "Hello äöü";
+static const QString s_translated_string_entry1{QStringLiteral("bonjour")};
+static const QByteArray s_bytearray_entry{"\x00\xff\x7f\x3c abc\x00\x00", 10};
+static const char s_escapekey[] = " []\0017[]==]";
+static const char s_escape_entry[] = "[]\170[]]=3=]\\] ";
+static const double s_double_entry{123456.78912345};
+static const float s_float_entry{123.567f};
+static const QPoint s_point_entry{4351, 1235};
+static const QSize s_size_entry{10, 20};
+static const QRect s_rect_entry{10, 23, 5321, 13};
+static const QDateTime s_date_time_entry{QDate{2002, 06, 23}, QTime{12, 55, 40}};
+static const QDateTime s_date_time_with_ms_entry{QDate{2002, 06, 23}, QTime{12, 55, 40, 532}};
+static const QStringList s_stringlist_entry{QStringLiteral("Hello,"), QStringLiteral("World")};
+static const QStringList s_stringlist_empty_entry{};
+static const QStringList s_stringlist_just_empty_element{QString{}};
+static const QStringList s_stringlist_empty_trailing_element{QStringLiteral("Hi"), QString{}};
+static const QStringList s_stringlist_escape_odd_entry{QStringLiteral("Hello\\\\\\"), QStringLiteral("World")};
+static const QStringList s_stringlist_escape_even_entry{QStringLiteral("Hello\\\\\\\\"), QStringLiteral("World")};
+static const QStringList s_stringlist_escape_comma_entry{QStringLiteral("Hel\\\\\\,\\\\,\\,\\\\\\\\,lo"), QStringLiteral("World")};
+static const QList<int> s_int_listentry1{1, 2, 3, 4};
+static const QList<QByteArray> s_bytearray_list_entry1{"", "1,2", "end"};
+static const QVariantList s_variantlist_entry{true, false, QStringLiteral("joe"), 10023};
+static const QVariantList s_variantlist_entry2{s_point_entry, s_size_entry};
+
+static const QString s_homepath{homePath() + QLatin1String{"/foo"}};
+static const QString s_homepath_escape{homePath() + QLatin1String("/foo/$HOME")};
+static const QString s_canonical_homepath{QFileInfo(homePath()).canonicalFilePath() + QLatin1String("/foo")};
+static const QString s_dollargroup{QStringLiteral("$i")};
+static const QString s_test_subdir{QStringLiteral("kconfigtest_subdir/")};
+static const QString s_kconfig_test_subdir(s_test_subdir + QLatin1String("kconfigtest"));
+static const QString s_kconfig_test_illegal_object_path(s_test_subdir + QLatin1String("kconfig-test"));
+
+#ifndef Q_OS_WIN
+void initLocale()
+{
+    setenv("LC_ALL", "en_US.utf-8", 1);
+    setenv("TZ", "UTC", 1);
+}
+
+Q_CONSTRUCTOR_FUNCTION(initLocale)
+#endif
+
+void KConfigTest::initTestCase()
+{
+    // ensure we don't use files in the real config directory
+    QStandardPaths::setTestModeEnabled(true);
+
+    qRegisterMetaType<KConfigGroup>();
+
+    // These two need to be assigned here, after setTestModeEnabled(true), and before cleanupTestCase()
+    m_testConfigDir = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + s_test_subdir;
+    m_kdeGlobalsPath = QDir::cleanPath(m_testConfigDir + QLatin1String("..")) + QLatin1String("/kdeglobals");
+
+    // to make sure all files from a previous failed run are deleted
+    cleanupTestCase();
+
+    KSharedConfigPtr mainConfig = KSharedConfig::openConfig();
+    mainConfig->group(QStringLiteral("Main")).writeEntry("Key", "Value");
+    mainConfig->sync();
+
+    KConfig sc(s_kconfig_test_subdir);
+
+    KConfigGroup cg(&sc, QStringLiteral("AAA")); // deleted later by testDelete
+    cg.writeEntry("stringEntry1", s_string_entry1, KConfig::Persistent | KConfig::Global);
+
+    cg = KConfigGroup(&sc, QStringLiteral("GlobalGroup"));
+    cg.writeEntry("globalEntry", s_string_entry1, KConfig::Persistent | KConfig::Global);
+    cg.deleteEntry("globalEntry2", KConfig::Global);
+
+    cg = KConfigGroup(&sc, QStringLiteral("LocalGroupToBeDeleted")); // deleted later by testDelete
+    cg.writeEntry("stringEntry1", s_string_entry1);
+
+    cg = KConfigGroup(&sc, QStringLiteral("Hello"));
+    cg.writeEntry("boolEntry1", s_bool_entry1);
+    cg.writeEntry("boolEntry2", s_bool_entry2);
+
+    QByteArray data(s_utf8bit_entry);
+    QCOMPARE(data.size(), 12); // the source file is in utf8
+    QCOMPARE(QString::fromUtf8(data).length(), 9);
+    cg.writeEntry("Test", data);
+    cg.writeEntry("bytearrayEntry", s_bytearray_entry);
+    cg.writeEntry(s_escapekey, QString::fromLatin1(s_escape_entry));
+    cg.writeEntry("emptyEntry", "");
+    cg.writeEntry("stringEntry1", s_string_entry1);
+    cg.writeEntry("stringEntry2", s_string_entry2);
+    cg.writeEntry("stringEntry3", s_string_entry3);
+    cg.writeEntry("stringEntry4", s_string_entry4);
+    cg.writeEntry("stringEntry5", s_string_entry5);
+    cg.writeEntry("urlEntry1", QUrl(QStringLiteral("http://qt-project.org")));
+    cg.writeEntry("keywith=equalsign", s_string_entry1);
+    cg.deleteEntry("stringEntry5");
+    cg.deleteEntry("stringEntry6"); // deleting a nonexistent entry
+    cg.writeEntry("byteArrayEntry1", s_string_entry1.toLatin1(), KConfig::Global | KConfig::Persistent);
+    cg.writeEntry("doubleEntry1", s_double_entry);
+    cg.writeEntry("floatEntry1", s_float_entry);
+
+    sc.deleteGroup(QStringLiteral("deleteMe")); // deleting a nonexistent group
+
+    cg = KConfigGroup(&sc, QStringLiteral("Complex Types"));
+    cg.writeEntry("rectEntry", s_rect_entry);
+    cg.writeEntry("pointEntry", s_point_entry);
+    cg.writeEntry("sizeEntry", s_size_entry);
+    cg.writeEntry("dateTimeEntry", s_date_time_entry);
+    cg.writeEntry("dateEntry", s_date_time_entry.date());
+    cg.writeEntry("dateTimeWithMSEntry", s_date_time_with_ms_entry);
+
+    KConfigGroup ct = cg;
+    cg = KConfigGroup(&ct, QStringLiteral("Nested Group 1"));
+    cg.writeEntry("stringentry1", s_string_entry1);
+
+    cg = KConfigGroup(&ct, QStringLiteral("Nested Group 2"));
+    cg.writeEntry("stringEntry2", s_string_entry2);
+
+    cg = KConfigGroup(&cg, QStringLiteral("Nested Group 2.1"));
+    cg.writeEntry("stringEntry3", s_string_entry3);
+
+    cg = KConfigGroup(&ct, QStringLiteral("Nested Group 3"));
+    cg.writeEntry("stringEntry3", s_string_entry3);
+
+    cg = KConfigGroup(&sc, QStringLiteral("List Types"));
+    cg.writeEntry("listOfIntsEntry1", s_int_listentry1);
+    cg.writeEntry("listOfByteArraysEntry1", s_bytearray_list_entry1);
+    cg.writeEntry("stringListEntry", s_stringlist_entry);
+    cg.writeEntry("stringListEmptyEntry", s_stringlist_empty_entry);
+    cg.writeEntry("stringListJustEmptyElement", s_stringlist_just_empty_element);
+    cg.writeEntry("stringListEmptyTrailingElement", s_stringlist_empty_trailing_element);
+    cg.writeEntry("stringListEscapeOddEntry", s_stringlist_escape_odd_entry);
+    cg.writeEntry("stringListEscapeEvenEntry", s_stringlist_escape_even_entry);
+    cg.writeEntry("stringListEscapeCommaEntry", s_stringlist_escape_comma_entry);
+    cg.writeEntry("variantListEntry", s_variantlist_entry);
+
+    cg = KConfigGroup(&sc, QStringLiteral("Path Type"));
+    cg.writePathEntry("homepath", s_homepath);
+    cg.writePathEntry("homepathescape", s_homepath_escape);
+    cg.writePathEntry("canonicalHomePath", s_canonical_homepath);
+
+    cg = KConfigGroup(&sc, QStringLiteral("Enum Types"));
+#if defined(_MSC_VER) && _MSC_VER == 1600
+    cg.writeEntry("dummy", 42);
+#else
+    // Visual C++ 2010 throws an Internal Compiler Error here
+    cg.writeEntry("enum-10", Tens);
+    cg.writeEntry("enum-100", Hundreds);
+    cg.writeEntry("flags-bit0", Flags(bit0));
+    cg.writeEntry("flags-bit0-bit1", Flags(bit0 | bit1));
+#endif
+
+    cg = KConfigGroup(&sc, QStringLiteral("ParentGroup"));
+    KConfigGroup cg1(&cg, QStringLiteral("SubGroup1"));
+    cg1.writeEntry("somestring", "somevalue");
+    cg.writeEntry("parentgrpstring", "somevalue");
+    KConfigGroup cg2(&cg, QStringLiteral("SubGroup2"));
+    cg2.writeEntry("substring", "somevalue");
+    KConfigGroup cg3(&cg, QStringLiteral("SubGroup/3"));
+    cg3.writeEntry("sub3string", "somevalue");
+
+    QVERIFY(sc.isDirty());
+    QVERIFY(sc.sync());
+    QVERIFY(!sc.isDirty());
+
+    QVERIFY2(QFile::exists(m_testConfigDir + QLatin1String("/kconfigtest")), qPrintable(m_testConfigDir + QLatin1String("/kconfigtest must exist")));
+    QVERIFY2(QFile::exists(m_kdeGlobalsPath), qPrintable(m_kdeGlobalsPath + QStringLiteral(" must exist")));
+
+    KConfig sc1(s_test_subdir + QLatin1String("kdebugrc"), KConfig::SimpleConfig);
+    KConfigGroup sg0(&sc1, QStringLiteral("0"));
+    sg0.writeEntry("AbortFatal", false);
+    sg0.writeEntry("WarnOutput", 0);
+    sg0.writeEntry("FatalOutput", 0);
+    QVERIFY(sc1.sync());
+
+    // Setup stuff to test KConfig::addConfigSources()
+    KConfig devcfg(s_test_subdir + QLatin1String("specificrc"));
+    KConfigGroup devonlygrp(&devcfg, QStringLiteral("Specific Only Group"));
+    devonlygrp.writeEntry("ExistingEntry", "DevValue");
+    KConfigGroup devandbasegrp(&devcfg, QStringLiteral("Shared Group"));
+    devandbasegrp.writeEntry("SomeSharedEntry", "DevValue");
+    devandbasegrp.writeEntry("SomeSpecificOnlyEntry", "DevValue");
+    QVERIFY(devcfg.sync());
+    KConfig basecfg(s_test_subdir + QLatin1String("baserc"));
+    KConfigGroup basegrp(&basecfg, QStringLiteral("Base Only Group"));
+    basegrp.writeEntry("ExistingEntry", "BaseValue");
+    KConfigGroup baseanddevgrp(&basecfg, QStringLiteral("Shared Group"));
+    baseanddevgrp.writeEntry("SomeSharedEntry", "BaseValue");
+    baseanddevgrp.writeEntry("SomeBaseOnlyEntry", "BaseValue");
+    QVERIFY(basecfg.sync());
+
+    KConfig gecfg(s_test_subdir + QLatin1String("groupescapetest"), KConfig::SimpleConfig);
+    cg = KConfigGroup(&gecfg, s_dollargroup);
+    cg.writeEntry("entry", "doesntmatter");
+}
+
+void KConfigTest::cleanupTestCase()
+{
+    // ensure we don't delete the real directory
+    QDir localConfig(m_testConfigDir);
+    // qDebug() << "Erasing" << localConfig;
+    if (localConfig.exists()) {
+        QVERIFY(localConfig.removeRecursively());
+    }
+    QVERIFY(!localConfig.exists());
+    if (QFile::exists(m_kdeGlobalsPath)) {
+        QVERIFY(QFile::remove(m_kdeGlobalsPath));
+    }
+}
+
+static QList<QByteArray> readLinesFrom(const QString &path)
+{
+    QFile file(path);
+    const bool opened = file.open(QIODevice::ReadOnly | QIODevice::Text);
+    QList<QByteArray> lines;
+    if (!opened) {
+        qWarning() << "Failed to open" << path;
+        return lines;
+    }
+    QByteArray line;
+    do {
+        line = file.readLine();
+        if (!line.isEmpty()) {
+            lines.append(line);
+        }
+    } while (!line.isEmpty());
+    return lines;
+}
+
+static const QString s_defaultArg = s_test_subdir + QLatin1String("kconfigtest");
+static QList<QByteArray> readLines(const QString &fileName = s_defaultArg)
+{
+    const QString path = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+    Q_ASSERT(!path.isEmpty());
+    return readLinesFrom(path + QLatin1Char('/') + fileName);
+}
+
+// see also testDefaults, which tests reverting with a defaults (global) file available
+void KConfigTest::testDirtyAfterRevert()
+{
+    KConfig sc(s_test_subdir + QLatin1String("kconfigtest_revert"));
+
+    KConfigGroup cg(&sc, QStringLiteral("Hello"));
+    cg.revertToDefault("does_not_exist");
+    QVERIFY(!sc.isDirty());
+    cg.writeEntry("Test", "Correct");
+    QVERIFY(sc.isDirty());
+    sc.sync();
+    QVERIFY(!sc.isDirty());
+
+    cg.revertToDefault("Test");
+    QVERIFY(sc.isDirty());
+    QVERIFY(sc.sync());
+    QVERIFY(!sc.isDirty());
+
+    cg.revertToDefault("Test");
+    QVERIFY(!sc.isDirty());
+}
+
+void KConfigTest::testRevertAllEntries()
+{
+    // this tests the case were we revert (delete) all entries in a file,
+    // leaving a blank file
+    {
+        KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+        KConfigGroup cg(&sc, QStringLiteral("Hello"));
+        cg.writeEntry("Test", "Correct");
+    }
+
+    {
+        KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+        KConfigGroup cg(&sc, QStringLiteral("Hello"));
+        QCOMPARE(cg.readEntry("Test", "Default"), QStringLiteral("Correct"));
+        cg.revertToDefault("Test");
+    }
+
+    KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+    KConfigGroup cg(&sc, QStringLiteral("Hello"));
+    QCOMPARE(cg.readEntry("Test", "Default"), QStringLiteral("Default"));
+}
+
+void KConfigTest::testSimple()
+{
+    // kdeglobals (which was created in initTestCase) must be found this way:
+    const QStringList kdeglobals = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("kdeglobals"));
+    QVERIFY(!kdeglobals.isEmpty());
+
+    KConfig sc2(s_kconfig_test_subdir);
+    QCOMPARE(sc2.name(), s_test_subdir + QLatin1String{"kconfigtest"});
+
+    // make sure groupList() isn't returning something it shouldn't
+    const QStringList lstGroup = sc2.groupList();
+    for (const QString &group : lstGroup) {
+        QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+        QVERIFY(!group.contains(QChar(0x1d)));
+    }
+
+    KConfigGroup sc3(&sc2, QStringLiteral("GlobalGroup"));
+
+    QVERIFY(sc3.hasKey("globalEntry")); // from kdeglobals
+    QVERIFY(!sc3.isEntryImmutable("globalEntry"));
+    QCOMPARE(sc3.readEntry("globalEntry"), s_string_entry1);
+
+    QVERIFY(!sc3.hasKey("globalEntry2"));
+    QCOMPARE(sc3.readEntry("globalEntry2", QStringLiteral("bla")), QStringLiteral("bla"));
+
+    QVERIFY(!sc3.hasDefault("globalEntry"));
+
+    sc3 = KConfigGroup(&sc2, QStringLiteral("Hello"));
+    QCOMPARE(sc3.readEntry("Test", QByteArray()), QByteArray(s_utf8bit_entry));
+    QCOMPARE(sc3.readEntry("bytearrayEntry", QByteArray()), s_bytearray_entry);
+    QCOMPARE(sc3.readEntry(s_escapekey), QString::fromLatin1(s_escape_entry));
+    QCOMPARE(sc3.readEntry("Test", QString{}), QString::fromUtf8(s_utf8bit_entry));
+    QCOMPARE(sc3.readEntry("emptyEntry" /*, QString("Fietsbel")*/), QLatin1String(""));
+    QCOMPARE(sc3.readEntry("emptyEntry", QStringLiteral("Fietsbel")).isEmpty(), true);
+    QCOMPARE(sc3.readEntry("stringEntry1"), s_string_entry1);
+    QCOMPARE(sc3.readEntry("stringEntry2"), s_string_entry2);
+    QCOMPARE(sc3.readEntry("stringEntry3"), s_string_entry3);
+    QCOMPARE(sc3.readEntry("stringEntry4"), s_string_entry4);
+    QVERIFY(!sc3.hasKey("stringEntry5"));
+    QCOMPARE(sc3.readEntry("stringEntry5", QStringLiteral("test")), QStringLiteral("test"));
+    QVERIFY(!sc3.hasKey("stringEntry6"));
+    QCOMPARE(sc3.readEntry("stringEntry6", QStringLiteral("foo")), QStringLiteral("foo"));
+    QCOMPARE(sc3.readEntry("urlEntry1", QUrl{}), QUrl(QStringLiteral("http://qt-project.org")));
+    QCOMPARE(sc3.readEntry("boolEntry1", s_bool_entry1), s_bool_entry1);
+    QCOMPARE(sc3.readEntry("boolEntry2", false), s_bool_entry2);
+    QCOMPARE(sc3.readEntry("keywith=equalsign", QStringLiteral("wrong")), s_string_entry1);
+    QCOMPARE(sc3.readEntry("byteArrayEntry1", QByteArray{}), s_string_entry1.toLatin1());
+    QCOMPARE(sc3.readEntry("doubleEntry1", 0.0), s_double_entry);
+    QCOMPARE(sc3.readEntry("floatEntry1", 0.0f), s_float_entry);
+}
+
+void KConfigTest::testDefaults()
+{
+    KConfig config(s_test_subdir + QLatin1String("defaulttest"), KConfig::NoGlobals);
+    const QString defaultsFile = s_test_subdir + QLatin1String("defaulttest.defaults");
+    KConfig defaults(defaultsFile, KConfig::SimpleConfig);
+    const QString defaultsFilePath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + defaultsFile;
+
+    const QString Default(QStringLiteral("Default"));
+    const QString NotDefault(QStringLiteral("Not Default"));
+    const QString Value1(s_string_entry1);
+    const QString Value2(s_string_entry2);
+
+    KConfigGroup group = defaults.group(QStringLiteral("any group"));
+    group.writeEntry("entry1", Default);
+    QVERIFY(group.sync());
+
+    group = config.group(QStringLiteral("any group"));
+    group.writeEntry("entry1", Value1);
+    group.writeEntry("entry2", Value2);
+    QVERIFY(group.sync());
+
+    config.addConfigSources(QStringList{defaultsFilePath});
+
+    config.setReadDefaults(true);
+    QCOMPARE(group.readEntry("entry1", QString()), Default);
+    QCOMPARE(group.readEntry("entry2", NotDefault), NotDefault); // no default for entry2
+
+    config.setReadDefaults(false);
+    QCOMPARE(group.readEntry("entry1", Default), Value1);
+    QCOMPARE(group.readEntry("entry2", NotDefault), Value2);
+
+    group.revertToDefault("entry1");
+    QCOMPARE(group.readEntry("entry1", QString()), Default);
+    group.revertToDefault("entry2");
+    QCOMPARE(group.readEntry("entry2", QString()), QString());
+
+    // TODO test reverting localized entries
+
+    Q_ASSERT(config.isDirty());
+    group.sync();
+
+    // Check that everything is OK on disk, too
+    KConfig reader(s_test_subdir + QLatin1String("defaulttest"), KConfig::NoGlobals);
+    reader.addConfigSources(QStringList{defaultsFilePath});
+    KConfigGroup readerGroup = reader.group(QStringLiteral("any group"));
+    QCOMPARE(readerGroup.readEntry("entry1", QString()), Default);
+    QCOMPARE(readerGroup.readEntry("entry2", QString()), QString());
+}
+
+void KConfigTest::testLocale()
+{
+    KConfig config(s_test_subdir + QLatin1String("kconfigtest.locales"), KConfig::SimpleConfig);
+    const QString Translated(s_translated_string_entry1);
+    const QString Untranslated(s_string_entry1);
+
+    KConfigGroup group = config.group(QStringLiteral("Hello"));
+    group.writeEntry("stringEntry1", Untranslated);
+    config.setLocale(QStringLiteral("fr"));
+    group.writeEntry("stringEntry1", Translated, KConfig::Localized | KConfig::Persistent);
+    QVERIFY(config.sync());
+
+    QCOMPARE(group.readEntry("stringEntry1", QString()), Translated);
+    QCOMPARE(group.readEntryUntranslated("stringEntry1"), Untranslated);
+
+    config.setLocale(QStringLiteral("C")); // strings written in the "C" locale are written as nonlocalized
+    group.writeEntry("stringEntry1", Untranslated, KConfig::Localized | KConfig::Persistent);
+    QVERIFY(config.sync());
+
+    QCOMPARE(group.readEntry("stringEntry1", QString()), Untranslated);
+}
+
+void KConfigTest::testEncoding()
+{
+    const QString groupstr = QString::fromUtf8("UTF-8:\xc3\xb6l");
+
+    const QString path = s_test_subdir + QLatin1String("kconfigtestencodings");
+    KConfig c(path);
+    KConfigGroup cg(&c, groupstr);
+    cg.writeEntry("key", "value");
+    QVERIFY(c.sync());
+
+    const QList<QByteArray> lines = readLines(path);
+    QCOMPARE(lines.count(), 2);
+    QCOMPARE(lines.first(), QByteArray("[UTF-8:\xc3\xb6l]\n"));
+
+    KConfig c2(path);
+    KConfigGroup cg2(&c2, groupstr);
+    QCOMPARE(cg2.readEntry("key"), QStringLiteral("value"));
+
+    QVERIFY(c2.groupList().contains(groupstr));
+}
+
+void KConfigTest::testLists()
+{
+    KConfig sc2(s_kconfig_test_subdir);
+    KConfigGroup sc3(&sc2, QStringLiteral("List Types"));
+
+    QCOMPARE(sc3.readEntry("stringListEntry", QStringList{}), s_stringlist_entry);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListEmptyEntry"), QStringList(QStringLiteral("wrong"))), s_stringlist_empty_entry);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListJustEmptyElement"), QStringList()), s_stringlist_just_empty_element);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListEmptyTrailingElement"), QStringList()), s_stringlist_empty_trailing_element);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeOddEntry"), QStringList()), s_stringlist_escape_odd_entry);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeEvenEntry"), QStringList()), s_stringlist_escape_even_entry);
+
+    QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeCommaEntry"), QStringList()), s_stringlist_escape_comma_entry);
+
+    QCOMPARE(sc3.readEntry("listOfIntsEntry1"), QString::fromLatin1("1,2,3,4"));
+    QList<int> expectedIntList = s_int_listentry1;
+    QVERIFY(sc3.readEntry("listOfIntsEntry1", QList<int>()) == expectedIntList);
+
+    QCOMPARE(QVariant(sc3.readEntry("variantListEntry", s_variantlist_entry)).toStringList(), QVariant(s_variantlist_entry).toStringList());
+
+    QCOMPARE(sc3.readEntry("listOfByteArraysEntry1", QList<QByteArray>()), s_bytearray_list_entry1);
+}
+
+void KConfigTest::testPath()
+{
+    KConfig sc2(s_kconfig_test_subdir);
+    KConfigGroup sc3(&sc2, QStringLiteral("Path Type"));
+    QCOMPARE(sc3.readPathEntry(QStringLiteral("homepath"), QString{}), s_homepath);
+    QCOMPARE(sc3.readPathEntry(QStringLiteral("homepathescape"), QString{}), s_homepath_escape);
+    QCOMPARE(sc3.readPathEntry(QStringLiteral("canonicalHomePath"), QString{}), s_canonical_homepath);
+    QCOMPARE(sc3.entryMap().value(QStringLiteral("homepath")), s_homepath);
+
+    qputenv("WITHSLASH", "/a/");
+    {
+        QFile file(m_testConfigDir + QLatin1String("/pathtest"));
+        file.open(QIODevice::WriteOnly | QIODevice::Text);
+        QTextStream out(&file);
+        out << "[Test Group]\n"
+            << "homePath=$HOME/foo\n"
+            << "homePath2=file://$HOME/foo\n"
+            << "withSlash=$WITHSLASH/foo\n"
+            << "withSlash2=$WITHSLASH\n"
+            << "withBraces[$e]=file://${HOME}/foo\n"
+            << "URL[$e]=file://${HOME}/foo\n"
+            << "hostname[$e]=$(hostname)\n"
+            << "escapes=aaa,bb/b,ccc\\,ccc\n"
+            << "noeol=foo" // no EOL
+            ;
+    }
+    KConfig cf2(s_test_subdir + QLatin1String("pathtest"));
+    KConfigGroup group = cf2.group(QStringLiteral("Test Group"));
+    QVERIFY(group.hasKey("homePath"));
+    QCOMPARE(group.readPathEntry("homePath", QString{}), s_homepath);
+    QVERIFY(group.hasKey("homePath2"));
+    QCOMPARE(group.readPathEntry("homePath2", QString{}), QLatin1String("file://") + s_homepath);
+    QVERIFY(group.hasKey("withSlash"));
+    QCOMPARE(group.readPathEntry("withSlash", QString{}), QStringLiteral("/a//foo"));
+    QVERIFY(group.hasKey("withSlash2"));
+    QCOMPARE(group.readPathEntry("withSlash2", QString{}), QStringLiteral("/a/"));
+    QVERIFY(group.hasKey("withBraces"));
+    QCOMPARE(group.readPathEntry("withBraces", QString{}), QLatin1String("file://") + s_homepath);
+    QVERIFY(group.hasKey("URL"));
+    QCOMPARE(group.readEntry("URL", QString{}), QLatin1String("file://") + s_homepath);
+    QVERIFY(group.hasKey("hostname"));
+    QCOMPARE(group.readEntry("hostname", QString{}), QStringLiteral("(hostname)")); // the $ got removed because empty var name
+    QVERIFY(group.hasKey("noeol"));
+    QCOMPARE(group.readEntry("noeol", QString{}), QStringLiteral("foo"));
+
+    const auto val = QStringList{QStringLiteral("aaa"), QStringLiteral("bb/b"), QStringLiteral("ccc,ccc")};
+    QCOMPARE(group.readPathEntry(QStringLiteral("escapes"), QStringList()), val);
+}
+
+void KConfigTest::testPersistenceOfExpandFlagForPath()
+{
+    // This test checks that a path entry starting with $HOME is still flagged
+    // with the expand flag after the config was altered without rewriting the
+    // path entry.
+
+    // 1st step: Open the config, add a new dummy entry and then sync the config
+    // back to the storage.
+    {
+        KConfig sc2(s_kconfig_test_subdir);
+        KConfigGroup sc3(&sc2, QStringLiteral("Path Type"));
+        sc3.writeEntry("dummy", "dummy");
+        QVERIFY(sc2.sync());
+    }
+
+    // 2nd step: Call testPath() again. Rewriting the config must not break
+    // the testPath() test.
+    testPath();
+}
+
+void KConfigTest::testPathQtHome()
+{
+    {
+        QFile file(m_testConfigDir + QLatin1String("/pathtest"));
+        file.open(QIODevice::WriteOnly | QIODevice::Text);
+        QTextStream out(&file);
+        out << "[Test Group]\n"
+            << "dataDir[$e]=$QT_DATA_HOME/kconfigtest\n"
+            << "cacheDir[$e]=$QT_CACHE_HOME/kconfigtest\n"
+            << "configDir[$e]=$QT_CONFIG_HOME/kconfigtest\n";
+    }
+    KConfig cf2(s_test_subdir + QLatin1String("pathtest"));
+    KConfigGroup group = cf2.group(QStringLiteral("Test Group"));
+    qunsetenv("QT_DATA_HOME");
+    qunsetenv("QT_CACHE_HOME");
+    qunsetenv("QT_CONFIG_HOME");
+    QVERIFY(group.hasKey("dataDir"));
+    QCOMPARE(group.readEntry("dataDir", QString{}),
+             QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).append(QStringLiteral("/kconfigtest")));
+    QVERIFY(group.hasKey("cacheDir"));
+    QCOMPARE(group.readEntry("cacheDir", QString{}),
+             QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation).append(QStringLiteral("/kconfigtest")));
+    QVERIFY(group.hasKey("configDir"));
+    QCOMPARE(group.readEntry("configDir", QString{}),
+             QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation).append(QStringLiteral("/kconfigtest")));
+    qputenv("QT_DATA_HOME", "/1");
+    qputenv("QT_CACHE_HOME", "/2");
+    qputenv("QT_CONFIG_HOME", "/3");
+    QVERIFY(group.hasKey("dataDir"));
+    QCOMPARE(group.readEntry("dataDir", QString{}), QStringLiteral("/1/kconfigtest"));
+    QVERIFY(group.hasKey("cacheDir"));
+    QCOMPARE(group.readEntry("cacheDir", QString{}), QStringLiteral("/2/kconfigtest"));
+    QVERIFY(group.hasKey("configDir"));
+    QCOMPARE(group.readEntry("configDir", QString{}), QStringLiteral("/3/kconfigtest"));
+}
+
+void KConfigTest::testComplex()
+{
+    KConfig sc2(s_kconfig_test_subdir);
+    KConfigGroup sc3(&sc2, QStringLiteral("Complex Types"));
+
+    QCOMPARE(sc3.readEntry("pointEntry", QPoint()), s_point_entry);
+    QCOMPARE(sc3.readEntry("sizeEntry", s_size_entry), s_size_entry);
+    QCOMPARE(sc3.readEntry("rectEntry", QRect(1, 2, 3, 4)), s_rect_entry);
+    QCOMPARE(sc3.readEntry("dateTimeEntry", QDateTime()).toString(Qt::ISODateWithMs), s_date_time_entry.toString(Qt::ISODateWithMs));
+    QCOMPARE(sc3.readEntry("dateEntry", QDate()).toString(Qt::ISODate), s_date_time_entry.date().toString(Qt::ISODate));
+    QCOMPARE(sc3.readEntry("dateTimeWithMSEntry", QDateTime()).toString(Qt::ISODateWithMs), s_date_time_with_ms_entry.toString(Qt::ISODateWithMs));
+    QCOMPARE(sc3.readEntry("dateTimeEntry", QDate()), s_date_time_entry.date());
+}
+
+void KConfigTest::testEnums()
+{
+    // Visual C++ 2010 (compiler version 16.0) throws an Internal Compiler Error
+    // when compiling the code in initTestCase that creates these KConfig entries,
+    // so we can't run this test
+#if defined(_MSC_VER) && _MSC_VER == 1600
+    QSKIP("Visual C++ 2010 can't compile this test");
+#endif
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup sc3(&sc, QStringLiteral("Enum Types"));
+
+    QCOMPARE(sc3.readEntry("enum-10"), QStringLiteral("Tens"));
+    QVERIFY(sc3.readEntry("enum-100", Ones) != Ones);
+    QVERIFY(sc3.readEntry("enum-100", Ones) != Tens);
+
+    QCOMPARE(sc3.readEntry("flags-bit0"), QStringLiteral("bit0"));
+    QVERIFY(sc3.readEntry("flags-bit0", Flags()) == bit0);
+
+    int eid = staticMetaObject.indexOfEnumerator("Flags");
+    QVERIFY(eid != -1);
+    QMetaEnum me = staticMetaObject.enumerator(eid);
+    Flags bitfield = bit0 | bit1;
+
+    QCOMPARE(sc3.readEntry("flags-bit0-bit1"), QString::fromLatin1(me.valueToKeys(bitfield)));
+    QVERIFY(sc3.readEntry("flags-bit0-bit1", Flags()) == bitfield);
+}
+
+void KConfigTest::testEntryMap()
+{
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("Hello"));
+    QMap<QString, QString> entryMap = cg.entryMap();
+    qDebug() << entryMap.keys();
+    QCOMPARE(entryMap.value(QStringLiteral("stringEntry1")), s_string_entry1);
+    QCOMPARE(entryMap.value(QStringLiteral("stringEntry2")), s_string_entry2);
+    QCOMPARE(entryMap.value(QStringLiteral("stringEntry3")), s_string_entry3);
+    QCOMPARE(entryMap.value(QStringLiteral("stringEntry4")), s_string_entry4);
+    QVERIFY(!entryMap.contains(QStringLiteral("stringEntry5")));
+    QVERIFY(!entryMap.contains(QStringLiteral("stringEntry6")));
+    QCOMPARE(entryMap.value(QStringLiteral("Test")), QString::fromUtf8(s_utf8bit_entry));
+    QCOMPARE(entryMap.value(QStringLiteral("bytearrayEntry")), QString::fromUtf8(s_bytearray_entry.constData()));
+    QCOMPARE(entryMap.value(QStringLiteral("emptyEntry")), QString{});
+    QVERIFY(entryMap.contains(QStringLiteral("emptyEntry")));
+    QCOMPARE(entryMap.value(QStringLiteral("boolEntry1")), s_bool_entry1 ? QStringLiteral("true") : QStringLiteral("false"));
+    QCOMPARE(entryMap.value(QStringLiteral("boolEntry2")), s_bool_entry2 ? QStringLiteral("true") : QStringLiteral("false"));
+    QCOMPARE(entryMap.value(QStringLiteral("keywith=equalsign")), s_string_entry1);
+    QCOMPARE(entryMap.value(QStringLiteral("byteArrayEntry1")), s_string_entry1);
+    QCOMPARE(entryMap.value(QStringLiteral("doubleEntry1")).toDouble(), s_double_entry);
+    QCOMPARE(entryMap.value(QStringLiteral("floatEntry1")).toFloat(), s_float_entry);
+}
+
+void KConfigTest::testInvalid()
+{
+    KConfig sc(s_kconfig_test_subdir);
+
+    // all of these should print a message to the kdebug.dbg file
+    KConfigGroup sc3(&sc, QStringLiteral("Invalid Types"));
+    sc3.writeEntry("badList", s_variantlist_entry2);
+
+    QList<int> list;
+
+    // 1 element list
+    list << 1;
+    sc3.writeEntry(QStringLiteral("badList"), list);
+
+    QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+    QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+    QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+    QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+    QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+    // 2 element list
+    list << 2;
+    sc3.writeEntry("badList", list);
+
+    QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+    QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+    QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+    // 3 element list
+    list << 303;
+    sc3.writeEntry("badList", list);
+
+    QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+    QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+    QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+    QVERIFY(sc3.readEntry("badList", QDate()) == QDate()); // out of bounds
+    QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+    // 4 element list
+    list << 4;
+    sc3.writeEntry("badList", list);
+
+    QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+    QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+    QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+    QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+    // 5 element list
+    list[2] = 3;
+    list << 5;
+    sc3.writeEntry("badList", list);
+
+    QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+    QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+    QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+    QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+    QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+    // 6 element list
+    list << 6;
+    sc3.writeEntry("badList", list);
+
+    QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+    QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+    QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+}
+
+void KConfigTest::testChangeGroup()
+{
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup sc3(&sc, QStringLiteral("Hello"));
+    QCOMPARE(sc3.name(), QStringLiteral("Hello"));
+    KConfigGroup newGroup(sc3);
+
+    KConfigGroup rootGroup(sc.group(QString()));
+    QCOMPARE(rootGroup.name(), QStringLiteral("<default>"));
+    KConfigGroup sc32(rootGroup.group(QStringLiteral("Hello")));
+    QCOMPARE(sc32.name(), QStringLiteral("Hello"));
+    KConfigGroup newGroup2(sc32);
+}
+
+// Simple test for deleteEntry
+void KConfigTest::testDeleteEntry()
+{
+    const QString configFile = s_test_subdir + QLatin1String("kconfigdeletetest");
+
+    {
+        KConfig conf(configFile);
+        conf.group(QStringLiteral("Hello")).writeEntry("DelKey", "ToBeDeleted");
+    }
+    const QList<QByteArray> lines = readLines(configFile);
+    Q_ASSERT(lines.contains("[Hello]\n"));
+    Q_ASSERT(lines.contains("DelKey=ToBeDeleted\n"));
+
+    KConfig sc(configFile);
+    KConfigGroup group(&sc, QStringLiteral("Hello"));
+
+    group.deleteEntry("DelKey");
+    QCOMPARE(group.readEntry("DelKey", QStringLiteral("Fietsbel")), QStringLiteral("Fietsbel"));
+
+    QVERIFY(group.sync());
+    Q_ASSERT(!readLines(configFile).contains("DelKey=ToBeDeleted\n"));
+    QCOMPARE(group.readEntry("DelKey", QStringLiteral("still deleted")), QStringLiteral("still deleted"));
+}
+
+void KConfigTest::testDelete()
+{
+    KConfig sc(s_kconfig_test_subdir);
+
+    KConfigGroup ct(&sc, QStringLiteral("Complex Types"));
+
+    // First delete a nested group
+    KConfigGroup delgr(&ct, QStringLiteral("Nested Group 3"));
+    QVERIFY(delgr.exists());
+    QVERIFY(ct.hasGroup(QStringLiteral("Nested Group 3")));
+    QVERIFY(ct.groupList().contains(QStringLiteral("Nested Group 3")));
+    delgr.deleteGroup();
+    QVERIFY(!delgr.exists());
+    QVERIFY(!ct.hasGroup(QStringLiteral("Nested Group 3")));
+    QVERIFY(!ct.groupList().contains(QStringLiteral("Nested Group 3")));
+
+    KConfigGroup ng(&ct, QStringLiteral("Nested Group 2"));
+    QVERIFY(sc.hasGroup(QStringLiteral("Complex Types")));
+    QVERIFY(sc.groupList().contains(QStringLiteral("Complex Types")));
+    QVERIFY(!sc.hasGroup(QStringLiteral("Does not exist")));
+    QVERIFY(ct.hasGroup(QStringLiteral("Nested Group 1")));
+    QVERIFY(ct.groupList().contains(QStringLiteral("Nested Group 1")));
+    sc.deleteGroup(QStringLiteral("Complex Types"));
+    QCOMPARE(sc.group(QStringLiteral("Complex Types")).keyList().count(), 0);
+    QVERIFY(!sc.hasGroup(QStringLiteral("Complex Types"))); // #192266
+    QVERIFY(!sc.group(QStringLiteral("Complex Types")).exists());
+    QVERIFY(!sc.groupList().contains(QStringLiteral("Complex Types")));
+    QVERIFY(!ct.hasGroup(QStringLiteral("Nested Group 1")));
+    QVERIFY(!ct.groupList().contains(QStringLiteral("Nested Group 1")));
+
+    QCOMPARE(ct.group(QStringLiteral("Nested Group 1")).keyList().count(), 0);
+    QCOMPARE(ct.group(QStringLiteral("Nested Group 2")).keyList().count(), 0);
+    QCOMPARE(ng.group(QStringLiteral("Nested Group 2.1")).keyList().count(), 0);
+
+    KConfigGroup cg(&sc, QStringLiteral("AAA"));
+    cg.deleteGroup();
+    QVERIFY(sc.entryMap(QStringLiteral("Complex Types")).isEmpty());
+    QVERIFY(sc.entryMap(QStringLiteral("AAA")).isEmpty());
+    QVERIFY(!sc.entryMap(QStringLiteral("Hello")).isEmpty()); // not deleted group
+    QVERIFY(sc.entryMap(QStringLiteral("FooBar")).isEmpty()); // inexistent group
+
+    KConfigGroup(&sc, QStringLiteral("LocalGroupToBeDeleted")).deleteGroup();
+
+    QVERIFY(cg.sync());
+    // Check what happens on disk
+    const QList<QByteArray> lines = readLines();
+    // qDebug() << lines;
+    QVERIFY(!lines.contains("[Complex Types]\n"));
+    QVERIFY(!lines.contains("[Complex Types][Nested Group 1]\n"));
+    QVERIFY(!lines.contains("[Complex Types][Nested Group 2]\n"));
+    QVERIFY(!lines.contains("[Complex Types][Nested Group 2.1]\n"));
+    QVERIFY(!lines.contains("[LocalGroupToBeDeleted]\n"));
+    QVERIFY(lines.contains("[AAA]\n")); // deleted from kconfigtest, but present in kdeglobals, so [$d]
+    QVERIFY(lines.contains("[Hello]\n")); // a group that was not deleted
+
+    // test for entries that are marked as deleted when there is no default
+    KConfig cf(s_kconfig_test_subdir, KConfig::SimpleConfig); // make sure there are no defaults
+    cg = cf.group(QStringLiteral("Portable Devices"));
+    cg.writeEntry("devices|manual|(null)", "whatever");
+    cg.writeEntry("devices|manual|/mnt/ipod", "/mnt/ipod");
+    QVERIFY(cf.sync());
+
+    int count = 0;
+    const QList<QByteArray> listLines = readLines();
+    for (const QByteArray &item : listLines) {
+        if (item.startsWith("devices|")) { // krazy:exclude=strings
+            ++count;
+        }
+    }
+    QCOMPARE(count, 2);
+    cg.deleteEntry("devices|manual|/mnt/ipod");
+    QVERIFY(cf.sync());
+    const QList<QByteArray> listLines2 = readLines();
+    for (const QByteArray &item : listLines2) {
+        QVERIFY(!item.contains("ipod"));
+    }
+}
+
+void KConfigTest::testDefaultGroup()
+{
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup defaultGroup(&sc, QStringLiteral("<default>"));
+    QCOMPARE(defaultGroup.name(), QStringLiteral("<default>"));
+    QVERIFY(!defaultGroup.exists());
+    defaultGroup.writeEntry("TestKey", "defaultGroup");
+    QVERIFY(defaultGroup.exists());
+    QCOMPARE(defaultGroup.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+    QVERIFY(sc.sync());
+
+    {
+        // Test reading it
+        KConfig sc2(s_kconfig_test_subdir);
+        KConfigGroup defaultGroup2(&sc2, QStringLiteral("<default>"));
+        QCOMPARE(defaultGroup2.name(), QStringLiteral("<default>"));
+        QVERIFY(defaultGroup2.exists());
+        QCOMPARE(defaultGroup2.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+    }
+    {
+        // Test reading it
+        KConfig sc2(s_kconfig_test_subdir);
+        KConfigGroup emptyGroup(&sc2, QString());
+        QCOMPARE(emptyGroup.name(), QStringLiteral("<default>"));
+        QVERIFY(emptyGroup.exists());
+        QCOMPARE(emptyGroup.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+    }
+
+    QList<QByteArray> lines = readLines();
+    QVERIFY(!lines.contains("[]\n"));
+    QVERIFY(!lines.isEmpty());
+    QCOMPARE(lines.first(), QByteArray("TestKey=defaultGroup\n"));
+
+    // Now that the group exists make sure it isn't returned from groupList()
+    const QStringList groupList = sc.groupList();
+    for (const QString &group : groupList) {
+        QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+    }
+
+    defaultGroup.deleteGroup();
+    QVERIFY(sc.sync());
+
+    // Test if deleteGroup worked
+    lines = readLines();
+    QVERIFY(lines.first() != QByteArray("TestKey=defaultGroup\n"));
+}
+
+void KConfigTest::testEmptyGroup()
+{
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup emptyGroup(&sc, QString());
+    QCOMPARE(emptyGroup.name(), QStringLiteral("<default>")); // confusing, heh?
+    QVERIFY(!emptyGroup.exists());
+    emptyGroup.writeEntry("TestKey", "emptyGroup");
+    QVERIFY(emptyGroup.exists());
+    QCOMPARE(emptyGroup.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+    QVERIFY(sc.sync());
+
+    {
+        // Test reading it
+        KConfig sc2(s_kconfig_test_subdir);
+        KConfigGroup defaultGroup(&sc2, QStringLiteral("<default>"));
+        QCOMPARE(defaultGroup.name(), QStringLiteral("<default>"));
+        QVERIFY(defaultGroup.exists());
+        QCOMPARE(defaultGroup.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+    }
+    {
+        // Test reading it
+        KConfig sc2(s_kconfig_test_subdir);
+        KConfigGroup emptyGroup2(&sc2, QString());
+        QCOMPARE(emptyGroup2.name(), QStringLiteral("<default>"));
+        QVERIFY(emptyGroup2.exists());
+        QCOMPARE(emptyGroup2.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+    }
+
+    QList<QByteArray> lines = readLines();
+    QVERIFY(!lines.contains("[]\n")); // there's no support for the [] group, in fact.
+    QCOMPARE(lines.first(), QByteArray("TestKey=emptyGroup\n"));
+
+    // Now that the group exists make sure it isn't returned from groupList()
+    const QStringList groupList = sc.groupList();
+    for (const QString &group : groupList) {
+        QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+    }
+    emptyGroup.deleteGroup();
+    QVERIFY(sc.sync());
+
+    // Test if deleteGroup worked
+    lines = readLines();
+    QVERIFY(lines.first() != QByteArray("TestKey=defaultGroup\n"));
+}
+
+#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_BLACKBERRY) && !defined(Q_OS_ANDROID)
+#define Q_XDG_PLATFORM
+#endif
+
+void KConfigTest::testCascadingWithLocale()
+{
+    // This test relies on XDG_CONFIG_DIRS, which only has effect on Unix.
+    // Cascading (more than two levels) isn't available at all on Windows.
+#ifdef Q_XDG_PLATFORM
+    QTemporaryDir middleDir;
+    QTemporaryDir globalDir;
+    const QByteArray oldConfigDirs = qgetenv("XDG_CONFIG_DIRS");
+    qputenv("XDG_CONFIG_DIRS", qPrintable(middleDir.path() + QLatin1Char(':') + globalDir.path()));
+
+    const QString globalConfigDir = globalDir.path() + QLatin1Char('/') + s_test_subdir;
+    QVERIFY(QDir().mkpath(globalConfigDir));
+    QFile global(globalConfigDir + QLatin1String("foo.desktop"));
+    QVERIFY(global.open(QIODevice::WriteOnly | QIODevice::Text));
+    QTextStream globalOut(&global);
+    globalOut << "[Group]\n"
+              << "FromGlobal=true\n"
+              << "FromGlobal[fr]=vrai\n"
+              << "Name=Testing\n"
+              << "Name[fr]=FR\n"
+              << "Other=Global\n"
+              << "Other[fr]=Global_FR\n";
+    global.close();
+
+    const QString middleConfigDir = middleDir.path() + QLatin1Char('/') + s_test_subdir;
+    QVERIFY(QDir().mkpath(middleConfigDir));
+    QFile local(middleConfigDir + QLatin1String("foo.desktop"));
+    QVERIFY(local.open(QIODevice::WriteOnly | QIODevice::Text));
+    QTextStream out(&local);
+    out << "[Group]\n"
+        << "FromLocal=true\n"
+        << "FromLocal[fr]=vrai\n"
+        << "Name=Local Testing\n"
+        << "Name[fr]=FR\n"
+        << "Other=English Only\n";
+    local.close();
+
+    KConfig config(s_test_subdir + QLatin1String("foo.desktop"));
+    KConfigGroup group = config.group(QStringLiteral("Group"));
+    QCOMPARE(group.readEntry("FromGlobal"), QStringLiteral("true"));
+    QCOMPARE(group.readEntry("FromLocal"), QStringLiteral("true"));
+    QCOMPARE(group.readEntry("Name"), QStringLiteral("Local Testing"));
+    config.setLocale(QStringLiteral("fr"));
+    QCOMPARE(group.readEntry("FromGlobal"), QStringLiteral("vrai"));
+    QCOMPARE(group.readEntry("FromLocal"), QStringLiteral("vrai"));
+    QCOMPARE(group.readEntry("Name"), QStringLiteral("FR"));
+    QCOMPARE(group.readEntry("Other"), QStringLiteral("English Only")); // Global_FR is locally overridden
+    qputenv("XDG_CONFIG_DIRS", oldConfigDirs);
+#endif
+}
+
+void KConfigTest::testMerge()
+{
+    DefaultLocale defaultLocale;
+    QLocale::setDefault(QLocale::c());
+    KConfig config(s_test_subdir + QLatin1String("mergetest"), KConfig::SimpleConfig);
+
+    KConfigGroup cg = config.group(QStringLiteral("some group"));
+    cg.writeEntry("entry", " random entry");
+    cg.writeEntry("another entry", "blah blah blah");
+
+    {
+        // simulate writing by another process
+        QFile file(m_testConfigDir + QLatin1String("/mergetest"));
+        file.open(QIODevice::WriteOnly | QIODevice::Text);
+        QTextStream out(&file);
+        out << "[Merged Group]\n"
+            << "entry1=Testing\n"
+            << "entry2=More Testing\n"
+            << "[some group]\n"
+            << "entry[fr]=French\n"
+            << "entry[es]=Spanish\n"
+            << "entry[de]=German\n";
+    }
+    QVERIFY(config.sync());
+
+    {
+        QList<QByteArray> lines;
+        // this is what the file should look like
+        lines << "[Merged Group]\n"
+              << "entry1=Testing\n"
+              << "entry2=More Testing\n"
+              << "\n"
+              << "[some group]\n"
+              << "another entry=blah blah blah\n"
+              << "entry=\\srandom entry\n"
+              << "entry[de]=German\n"
+              << "entry[es]=Spanish\n"
+              << "entry[fr]=French\n";
+        QFile file(m_testConfigDir + QLatin1String("/mergetest"));
+        file.open(QIODevice::ReadOnly | QIODevice::Text);
+        for (const QByteArray &line : std::as_const(lines)) {
+            QCOMPARE(line, file.readLine());
+        }
+    }
+}
+
+void KConfigTest::testImmutable()
+{
+    {
+        QFile file(m_testConfigDir + QLatin1String("/immutabletest"));
+        file.open(QIODevice::WriteOnly | QIODevice::Text);
+        QTextStream out(&file);
+        out << "[$i]\n"
+            << "entry1=Testing\n"
+            << "[group][$i]\n"
+            << "[group][subgroup][$i]\n";
+    }
+
+    KConfig config(s_test_subdir + QLatin1String("immutabletest"), KConfig::SimpleConfig);
+    QVERIFY(config.isGroupImmutable(QString()));
+    KConfigGroup cg = config.group(QString());
+    QVERIFY(cg.isEntryImmutable("entry1"));
+    KConfigGroup cg1 = config.group(QStringLiteral("group"));
+    QVERIFY(cg1.isImmutable());
+    KConfigGroup cg1a = cg.group(QStringLiteral("group"));
+    QVERIFY(cg1a.isImmutable());
+    KConfigGroup cg2 = cg1.group(QStringLiteral("subgroup"));
+    QVERIFY(cg2.isImmutable());
+}
+
+void KConfigTest::testOptionOrder()
+{
+    {
+        QFile file(m_testConfigDir + QLatin1String("/doubleattrtest"));
+        file.open(QIODevice::WriteOnly | QIODevice::Text);
+        QTextStream out(&file);
+        out << "[group3]\n"
+            << "entry2=unlocalized\n"
+            << "entry2[$i][de_DE]=t2\n";
+    }
+    KConfig config(s_test_subdir + QLatin1String("doubleattrtest"), KConfig::SimpleConfig);
+    config.setLocale(QStringLiteral("de_DE"));
+    KConfigGroup cg3 = config.group(QStringLiteral("group3"));
+    QVERIFY(!cg3.isImmutable());
+    QCOMPARE(cg3.readEntry("entry2", ""), QStringLiteral("t2"));
+    QVERIFY(cg3.isEntryImmutable("entry2"));
+    config.setLocale(QStringLiteral("C"));
+    QCOMPARE(cg3.readEntry("entry2", ""), QStringLiteral("unlocalized"));
+    QVERIFY(!cg3.isEntryImmutable("entry2"));
+    cg3.writeEntry("entry2", "modified");
+    QVERIFY(config.sync());
+
+    {
+        QList<QByteArray> lines;
+        // this is what the file should look like
+        lines << "[group3]\n"
+              << "entry2=modified\n"
+              << "entry2[de_DE][$i]=t2\n";
+
+        QFile file(m_testConfigDir + QLatin1String("/doubleattrtest"));
+        file.open(QIODevice::ReadOnly | QIODevice::Text);
+        for (const QByteArray &line : std::as_const(lines)) {
+            QCOMPARE(line, file.readLine());
+        }
+    }
+}
+
+void KConfigTest::testGroupEscape()
+{
+    KConfig config(s_test_subdir + QLatin1String("groupescapetest"), KConfig::SimpleConfig);
+    QVERIFY(config.group(s_dollargroup).exists());
+}
+
+void KConfigTest::testSubGroup()
+{
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cg(&sc, QStringLiteral("ParentGroup"));
+    QCOMPARE(cg.readEntry("parentgrpstring", ""), QStringLiteral("somevalue"));
+    KConfigGroup subcg1(&cg, QStringLiteral("SubGroup1"));
+    QCOMPARE(subcg1.name(), QStringLiteral("SubGroup1"));
+    QCOMPARE(subcg1.readEntry("somestring", ""), QStringLiteral("somevalue"));
+    KConfigGroup subcg2(&cg, QStringLiteral("SubGroup2"));
+    QCOMPARE(subcg2.name(), QStringLiteral("SubGroup2"));
+    QCOMPARE(subcg2.readEntry("substring", ""), QStringLiteral("somevalue"));
+    KConfigGroup subcg3(&cg, QStringLiteral("SubGroup/3"));
+    QCOMPARE(subcg3.readEntry("sub3string", ""), QStringLiteral("somevalue"));
+    QCOMPARE(subcg3.name(), QStringLiteral("SubGroup/3"));
+    KConfigGroup rcg(&sc, QString());
+    KConfigGroup srcg(&rcg, QStringLiteral("ParentGroup"));
+    QCOMPARE(srcg.readEntry("parentgrpstring", ""), QStringLiteral("somevalue"));
+
+    QStringList groupList = cg.groupList();
+    groupList.sort(); // comes from QSet, so order is undefined
+    QCOMPARE(groupList, (QStringList{QStringLiteral("SubGroup/3"), QStringLiteral("SubGroup1"), QStringLiteral("SubGroup2")}));
+
+    const QStringList expectedSubgroup3Keys{QStringLiteral("sub3string")};
+    QCOMPARE(subcg3.keyList(), expectedSubgroup3Keys);
+    const QStringList expectedParentGroupKeys{QStringLiteral("parentgrpstring")};
+
+    QCOMPARE(cg.keyList(), expectedParentGroupKeys);
+
+    QCOMPARE(QStringList(cg.entryMap().keys()), expectedParentGroupKeys);
+    QCOMPARE(QStringList(subcg3.entryMap().keys()), expectedSubgroup3Keys);
+
+    // Create A group containing only other groups. We want to make sure it
+    // shows up in groupList of sc
+    KConfigGroup neg(&sc, QStringLiteral("NoEntryGroup"));
+    KConfigGroup negsub1(&neg, QStringLiteral("NEG Child1"));
+    negsub1.writeEntry("entry", "somevalue");
+    KConfigGroup negsub2(&neg, QStringLiteral("NEG Child2"));
+    KConfigGroup negsub3(&neg, QStringLiteral("NEG Child3"));
+    KConfigGroup negsub31(&negsub3, QStringLiteral("NEG Child3-1"));
+    KConfigGroup negsub4(&neg, QStringLiteral("NEG Child4"));
+    KConfigGroup negsub41(&negsub4, QStringLiteral("NEG Child4-1"));
+    negsub41.writeEntry("entry", "somevalue");
+
+    // A group exists if it has content
+    QVERIFY(negsub1.exists());
+
+    // But it doesn't exist if it has no content
+    // Ossi and David say: this is how it's supposed to work.
+    // However you could add a dummy entry for now, or we could add a "Persist" feature to kconfig groups
+    // which would make it written out, much like "immutable" already makes them persistent.
+    QVERIFY(!negsub2.exists());
+
+    // A subgroup does not qualify as content if it is also empty
+    QVERIFY(!negsub3.exists());
+
+    // A subgroup with content is ok
+    QVERIFY(negsub4.exists());
+
+    // Only subgroups with content show up in groupList()
+    // QEXPECT_FAIL("", "Empty subgroups do not show up in groupList()", Continue);
+    // QCOMPARE(neg.groupList(), QStringList() << "NEG Child1" << "NEG Child2" << "NEG Child3" << "NEG Child4");
+    // This is what happens
+    QStringList groups = neg.groupList();
+    groups.sort(); // Qt5 made the ordering unreliable, due to QHash
+    QCOMPARE(groups, (QStringList{QStringLiteral("NEG Child1"), QStringLiteral("NEG Child4")}));
+
+    // make sure groupList() isn't returning something it shouldn't
+    const QStringList listGroup = sc.groupList();
+    for (const QString &group : listGroup) {
+        QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+        QVERIFY(!group.contains(QChar(0x1d)));
+        QVERIFY(!group.contains(QLatin1String("subgroup")));
+        QVERIFY(!group.contains(QLatin1String("SubGroup")));
+    }
+
+    QVERIFY(sc.sync());
+
+    // Check that the empty groups are not written out.
+    const QList<QByteArray> lines = readLines();
+    QVERIFY(lines.contains("[NoEntryGroup][NEG Child1]\n"));
+    QVERIFY(!lines.contains("[NoEntryGroup][NEG Child2]\n"));
+    QVERIFY(!lines.contains("[NoEntryGroup][NEG Child3]\n"));
+    QVERIFY(!lines.contains("[NoEntryGroup][NEG Child4]\n")); // implicit group, not written out
+    QVERIFY(lines.contains("[NoEntryGroup][NEG Child4][NEG Child4-1]\n"));
+}
+
+void KConfigTest::testAddConfigSources()
+{
+    KConfig cf(s_test_subdir + QLatin1String("specificrc"));
+
+    cf.addConfigSources(QStringList{m_testConfigDir + QLatin1String("/baserc")});
+    cf.reparseConfiguration();
+
+    KConfigGroup specificgrp(&cf, QStringLiteral("Specific Only Group"));
+    QCOMPARE(specificgrp.readEntry("ExistingEntry", ""), QStringLiteral("DevValue"));
+
+    KConfigGroup sharedgrp(&cf, QStringLiteral("Shared Group"));
+    QCOMPARE(sharedgrp.readEntry("SomeSpecificOnlyEntry", ""), QStringLiteral("DevValue"));
+    QCOMPARE(sharedgrp.readEntry("SomeBaseOnlyEntry", ""), QStringLiteral("BaseValue"));
+    QCOMPARE(sharedgrp.readEntry("SomeSharedEntry", ""), QStringLiteral("DevValue"));
+
+    KConfigGroup basegrp(&cf, QStringLiteral("Base Only Group"));
+    QCOMPARE(basegrp.readEntry("ExistingEntry", ""), QStringLiteral("BaseValue"));
+    basegrp.writeEntry("New Entry Base Only", "SomeValue");
+
+    KConfigGroup newgrp(&cf, QStringLiteral("New Group"));
+    newgrp.writeEntry("New Entry", "SomeValue");
+
+    QVERIFY(cf.sync());
+
+    KConfig plaincfg(s_test_subdir + QLatin1String("specificrc"));
+
+    KConfigGroup newgrp2(&plaincfg, QStringLiteral("New Group"));
+    QCOMPARE(newgrp2.readEntry("New Entry", ""), QStringLiteral("SomeValue"));
+
+    KConfigGroup basegrp2(&plaincfg, QStringLiteral("Base Only Group"));
+    QCOMPARE(basegrp2.readEntry("New Entry Base Only", ""), QStringLiteral("SomeValue"));
+}
+
+void KConfigTest::testGroupCopyTo()
+{
+    KConfig cf1(s_kconfig_test_subdir);
+    KConfigGroup original = cf1.group(QStringLiteral("Enum Types"));
+
+    KConfigGroup copy = cf1.group(QStringLiteral("Enum Types Copy"));
+    original.copyTo(&copy); // copy from one group to another
+    QCOMPARE(copy.entryMap(), original.entryMap());
+
+    KConfig cf2(s_test_subdir + QLatin1String("copy_of_kconfigtest"), KConfig::SimpleConfig);
+    QVERIFY(!cf2.hasGroup(original.name()));
+    QVERIFY(!cf2.hasGroup(copy.name()));
+
+    KConfigGroup newGroup = cf2.group(original.name());
+    original.copyTo(&newGroup); // copy from one file to another
+    QVERIFY(cf2.hasGroup(original.name()));
+    QVERIFY(!cf2.hasGroup(copy.name())); // make sure we didn't copy more than we wanted
+    QCOMPARE(newGroup.entryMap(), original.entryMap());
+}
+
+void KConfigTest::testConfigCopyToSync()
+{
+    KConfig cf1(s_kconfig_test_subdir);
+    // Prepare source file
+    KConfigGroup group(&cf1, QStringLiteral("CopyToTest"));
+    group.writeEntry("Type", "Test");
+    QVERIFY(cf1.sync());
+
+    // Copy to "destination"
+    const QString destination = m_testConfigDir + QLatin1String("/kconfigcopytotest");
+    QFile::remove(destination);
+
+    KConfig cf2(s_test_subdir + QLatin1String("kconfigcopytotest"));
+    KConfigGroup group2(&cf2, QStringLiteral("CopyToTest"));
+
+    group.copyTo(&group2);
+
+    QString testVal = group2.readEntry("Type");
+    QCOMPARE(testVal, QStringLiteral("Test"));
+    // should write to disk the copied data from group
+    QVERIFY(cf2.sync());
+    QVERIFY(QFile::exists(destination));
+}
+
+void KConfigTest::testConfigCopyTo()
+{
+    KConfig cf1(s_kconfig_test_subdir);
+    {
+        // Prepare source file
+        KConfigGroup group(&cf1, QStringLiteral("CopyToTest"));
+        group.writeEntry("Type", "Test");
+        QVERIFY(cf1.sync());
+    }
+
+    {
+        // Copy to "destination"
+        const QString destination = m_testConfigDir + QLatin1String("/kconfigcopytotest");
+        QFile::remove(destination);
+        KConfig cf2;
+        cf1.copyTo(destination, &cf2);
+        KConfigGroup group2(&cf2, QStringLiteral("CopyToTest"));
+        QString testVal = group2.readEntry("Type");
+        QCOMPARE(testVal, QStringLiteral("Test"));
+        QVERIFY(cf2.sync());
+        QVERIFY(QFile::exists(destination));
+    }
+
+    // Check copied config file on disk
+    KConfig cf3(s_test_subdir + QLatin1String("kconfigcopytotest"));
+    KConfigGroup group3(&cf3, QStringLiteral("CopyToTest"));
+    QString testVal = group3.readEntry("Type");
+    QCOMPARE(testVal, QStringLiteral("Test"));
+}
+
+void KConfigTest::testReparent()
+{
+    KConfig cf(s_kconfig_test_subdir);
+    const QString name(QStringLiteral("Enum Types"));
+    KConfigGroup group = cf.group(name);
+    const QMap<QString, QString> originalMap = group.entryMap();
+    KConfigGroup parent = cf.group(QStringLiteral("Parent Group"));
+
+    QVERIFY(!parent.hasGroup(name));
+
+    QVERIFY(group.entryMap() == originalMap);
+
+    group.reparent(&parent); // see if it can be made a sub-group of another group
+    QVERIFY(parent.hasGroup(name));
+    QCOMPARE(group.entryMap(), originalMap);
+
+    group.reparent(&cf); // see if it can make it a top-level group again
+    //    QVERIFY(!parent.hasGroup(name));
+    QCOMPARE(group.entryMap(), originalMap);
+}
+
+static void ageTimeStamp(const QString &path, int nsec)
+{
+#ifdef Q_OS_UNIX
+    QDateTime mtime = QFileInfo(path).lastModified().addSecs(-nsec);
+    struct utimbuf utbuf;
+    utbuf.actime = mtime.toSecsSinceEpoch();
+    utbuf.modtime = utbuf.actime;
+    utime(QFile::encodeName(path).constData(), &utbuf);
+#else
+    QTest::qSleep(nsec * 1000);
+#endif
+}
+
+void KConfigTest::testWriteOnSync()
+{
+    QDateTime oldStamp;
+    QDateTime newStamp;
+    KConfig sc(s_kconfig_test_subdir, KConfig::IncludeGlobals);
+
+    // Age the timestamp of global config file a few sec, and collect it.
+    QString globFile = m_kdeGlobalsPath;
+    ageTimeStamp(globFile, 2); // age 2 sec
+    oldStamp = QFileInfo(globFile).lastModified();
+
+    // Add a local entry and sync the config.
+    // Should not rewrite the global config file.
+    KConfigGroup cgLocal(&sc, QStringLiteral("Locals"));
+    cgLocal.writeEntry("someLocalString", "whatever");
+    QVERIFY(sc.sync());
+
+    // Verify that the timestamp of global config file didn't change.
+    newStamp = QFileInfo(globFile).lastModified();
+    QCOMPARE(newStamp, oldStamp);
+
+    // Age the timestamp of local config file a few sec, and collect it.
+    QString locFile = m_testConfigDir + QLatin1String("/kconfigtest");
+    ageTimeStamp(locFile, 2); // age 2 sec
+    oldStamp = QFileInfo(locFile).lastModified();
+
+    // Add a global entry and sync the config.
+    // Should not rewrite the local config file.
+    KConfigGroup cgGlobal(&sc, QStringLiteral("Globals"));
+    cgGlobal.writeEntry("someGlobalString", "whatever", KConfig::Persistent | KConfig::Global);
+    QVERIFY(sc.sync());
+
+    // Verify that the timestamp of local config file didn't change.
+    newStamp = QFileInfo(locFile).lastModified();
+    QCOMPARE(newStamp, oldStamp);
+}
+
+void KConfigTest::testFailOnReadOnlyFileSync()
+{
+    KConfig sc(s_test_subdir + QLatin1String("kconfigfailonreadonlytest"));
+    KConfigGroup cgLocal(&sc, QStringLiteral("Locals"));
+
+    cgLocal.writeEntry("someLocalString", "whatever");
+    QVERIFY(cgLocal.sync());
+
+    QFile f(m_testConfigDir + QLatin1String("kconfigfailonreadonlytest"));
+    QVERIFY(f.exists());
+    QVERIFY(f.setPermissions(QFileDevice::ReadOwner));
+
+#ifndef Q_OS_WIN
+    if (::getuid() == 0) {
+        QSKIP("Root can write to read-only files");
+    }
+#endif
+    cgLocal.writeEntry("someLocalString", "whatever2");
+    QVERIFY(!cgLocal.sync());
+
+    QVERIFY(f.setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner));
+    QVERIFY(f.remove());
+}
+
+void KConfigTest::testDirtyOnEqual()
+{
+    QDateTime oldStamp;
+    QDateTime newStamp;
+    KConfig sc(s_kconfig_test_subdir);
+
+    // Initialize value
+    KConfigGroup cgLocal(&sc, QStringLiteral("random"));
+    cgLocal.writeEntry("theKey", "whatever");
+    QVERIFY(sc.sync());
+
+    // Age the timestamp of local config file a few sec, and collect it.
+    QString locFile = m_testConfigDir + QLatin1String("/kconfigtest");
+    ageTimeStamp(locFile, 2); // age 2 sec
+    oldStamp = QFileInfo(locFile).lastModified();
+
+    // Write exactly the same again
+    cgLocal.writeEntry("theKey", "whatever");
+    // This should be a no-op
+    QVERIFY(sc.sync());
+
+    // Verify that the timestamp of local config file didn't change.
+    newStamp = QFileInfo(locFile).lastModified();
+    QCOMPARE(newStamp, oldStamp);
+}
+
+void KConfigTest::testDirtyOnEqualOverdo()
+{
+    QByteArray val1(
+        "\0"
+        "one",
+        4);
+    QByteArray val2(
+        "\0"
+        "two",
+        4);
+    QByteArray defvalr;
+
+    KConfig sc(s_kconfig_test_subdir);
+    KConfigGroup cgLocal(&sc, QStringLiteral("random"));
+    cgLocal.writeEntry("someKey", val1);
+    QCOMPARE(cgLocal.readEntry("someKey", defvalr), val1);
+    cgLocal.writeEntry("someKey", val2);
+    QCOMPARE(cgLocal.readEntry("someKey", defvalr), val2);
+}
+
+void KConfigTest::testCreateDir()
+{
+    // Test auto-creating the parent directory when needed (KConfigIniBackend::createEnclosing)
+    QTemporaryDir tmpDir(QDir::tempPath() + QStringLiteral("/fakehome_XXXXXX"));
+    QVERIFY(tmpDir.isValid());
+    const QString kdehome = tmpDir.path() + QLatin1String("/.kde-unit-test");
+    const QString subdir = kdehome + QLatin1String("/newsubdir");
+    const QString file = subdir + QLatin1String("/foo.desktop");
+    QFile::remove(file);
+    QDir().rmdir(subdir);
+    QVERIFY(!QDir().exists(subdir));
+    KDesktopFile desktopFile(file);
+    desktopFile.desktopGroup().writeEntry("key", "value");
+    QVERIFY(desktopFile.sync());
+    QVERIFY(QFile::exists(file));
+
+    // Cleanup
+    QFile::remove(file);
+    QDir().rmdir(subdir);
+}
+
+void KConfigTest::testSyncOnExit()
+{
+    // Often, the KGlobalPrivate global static's destructor ends up calling ~KConfig ->
+    // KConfig::sync ... and if that code triggers KGlobal code again then things could crash.
+    // So here's a test for modifying KSharedConfig::openConfig() and not syncing, the process exit will sync.
+    KConfigGroup grp(KSharedConfig::openConfig(s_test_subdir + QLatin1String("syncOnExitRc")), QStringLiteral("syncOnExit"));
+    grp.writeEntry("key", "value");
+}
+
+void KConfigTest::testSharedConfig()
+{
+    // Can I use a KConfigGroup even after the KSharedConfigPtr goes out of scope?
+    KConfigGroup myConfigGroup;
+    {
+        KSharedConfigPtr config = KSharedConfig::openConfig(s_kconfig_test_subdir);
+        myConfigGroup = KConfigGroup(config, QStringLiteral("Hello"));
+    }
+    QCOMPARE(myConfigGroup.readEntry("stringEntry1"), s_string_entry1);
+
+    // Get the main config
+    KSharedConfigPtr mainConfig = KSharedConfig::openConfig();
+    KConfigGroup mainGroup(mainConfig, QStringLiteral("Main"));
+    QCOMPARE(mainGroup.readEntry("Key", QString{}), QStringLiteral("Value"));
+}
+
+void KConfigTest::testLocaleConfig()
+{
+    // Initialize the testdata
+    QDir().mkpath(m_testConfigDir);
+    const QString file = m_testConfigDir + QLatin1String("/localized.test");
+    QFile::remove(file);
+    QFile f(file);
+    QVERIFY(f.open(QIODevice::WriteOnly));
+    QTextStream ts(&f);
+    ts << "[Test_Wrong]\n";
+    ts << "foo[ca]=5\n";
+    ts << "foostring[ca]=nice\n";
+    ts << "foobool[ca]=true\n";
+    ts << "[Test_Right]\n";
+    ts << "foo=5\n";
+    ts << "foo[ca]=5\n";
+    ts << "foostring=primary\n";
+    ts << "foostring[ca]=nice\n";
+    ts << "foobool=primary\n";
+    ts << "foobool[ca]=true\n";
+    f.close();
+
+    // Load the testdata
+    QVERIFY(QFile::exists(file));
+    KConfig config(file);
+    config.setLocale(QStringLiteral("ca"));
+
+    // This group has only localized values. That is not supported. The values
+    // should be dropped on loading.
+    KConfigGroup cg(&config, QStringLiteral("Test_Wrong"));
+    QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+    QVERIFY(!cg.hasKey("foo"));
+    QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+    QVERIFY(!cg.hasKey("foostring"));
+    QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+
+    // Now check the correct config group
+    KConfigGroup cg2(&config, QStringLiteral("Test_Right"));
+    QCOMPARE(cg2.readEntry("foo"), QStringLiteral("5"));
+    QCOMPARE(cg2.readEntry("foo", 3), 5);
+    QCOMPARE(cg2.readEntry("foostring"), QStringLiteral("nice"));
+    QCOMPARE(cg2.readEntry("foostring", "ugly"), QStringLiteral("nice"));
+    QCOMPARE(cg2.readEntry("foobool"), QStringLiteral("true"));
+    QCOMPARE(cg2.readEntry("foobool", false), true);
+
+    // Clean up after the testcase
+    QFile::remove(file);
+}
+
+void KConfigTest::testDeleteWhenLocalized()
+{
+    // Initialize the testdata
+    QTemporaryDir tmpDir(QDir::tempPath() + QStringLiteral("/fakehome_XXXXXX"));
+    QVERIFY(tmpDir.isValid());
+    const QString subdir = tmpDir.path() + QLatin1String("/.kde-unit-test/");
+    QDir().mkpath(subdir);
+    const QString file = subdir + QLatin1String("/localized_delete.test");
+    QFile::remove(file);
+    QFile f(file);
+    QVERIFY(f.open(QIODevice::WriteOnly));
+    QTextStream ts(&f);
+    ts << "[Test4711]\n";
+    ts << "foo=3\n";
+    ts << "foo[ca]=5\n";
+    ts << "foo[de]=7\n";
+    ts << "foostring=ugly\n";
+    ts << "foostring[ca]=nice\n";
+    ts << "foostring[de]=schoen\n";
+    ts << "foobool=false\n";
+    ts << "foobool[ca]=true\n";
+    ts << "foobool[de]=true\n";
+    f.close();
+
+    // Load the testdata. We start in locale "ca".
+    QVERIFY(QFile::exists(file));
+    KConfig config(file);
+    config.setLocale(QStringLiteral("ca"));
+    KConfigGroup cg(&config, QStringLiteral("Test4711"));
+
+    // Delete a value. Once with localized, once with Normal
+    cg.deleteEntry("foostring", KConfigBase::Persistent | KConfigBase::Localized);
+    cg.deleteEntry("foobool");
+    QVERIFY(config.sync());
+
+    // The value is now gone. The others are still there. Everything correct
+    // here.
+    QVERIFY(!cg.hasKey("foostring"));
+    QVERIFY(!cg.hasKey("foobool"));
+    QVERIFY(cg.hasKey("foo"));
+
+    // The current state is: (Just return before this comment.)
+    // [...]
+    // foobool[ca]=true
+    // foobool[de]=wahr
+    // foostring=ugly
+    // foostring[de]=schoen
+
+    // Now switch the locale to "de" and repeat the checks. Results should be
+    // the same. But they currently are not. The localized value are
+    // independent of each other. All values are still there in "de".
+    config.setLocale(QStringLiteral("de"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foostring"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+    QVERIFY(cg.hasKey("foo"));
+    // Check where the wrong values come from.
+    // We get the "de" value.
+    QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("schoen"));
+    // We get the "de" value.
+    QCOMPARE(cg.readEntry("foobool", false), true);
+
+    // Now switch the locale back "ca" and repeat the checks. Results are
+    // again different.
+    config.setLocale(QStringLiteral("ca"));
+    // This line worked above. But now it fails.
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foostring"));
+    // This line worked above too.
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+    QVERIFY(cg.hasKey("foo"));
+    // Check where the wrong values come from.
+    // We get the primary value because the "ca" value was deleted.
+    QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("ugly"));
+    // We get the "ca" value.
+    QCOMPARE(cg.readEntry("foobool", false), true);
+
+    // Now test the deletion of a group.
+    cg.deleteGroup();
+    QVERIFY(config.sync());
+
+    // Current state: [ca] and [de] entries left... oops.
+    // qDebug() << readLinesFrom(file);
+
+    // Bug: The group still exists [because of the localized entries]...
+    QVERIFY(cg.exists());
+    QVERIFY(!cg.hasKey("foo"));
+    QVERIFY(!cg.hasKey("foostring"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+
+    // Now switch the locale to "de" and repeat the checks. All values
+    // still here because only the primary values are deleted.
+    config.setLocale(QStringLiteral("de"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foo"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foostring"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+    // Check where the wrong values come from.
+    // We get the "de" value.
+    QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("schoen"));
+    // We get the "de" value.
+    QCOMPARE(cg.readEntry("foobool", false), true);
+    // We get the "de" value.
+    QCOMPARE(cg.readEntry("foo", 0), 7);
+
+    // Now switch the locale to "ca" and repeat the checks
+    // "foostring" is now really gone because both the primary value and the
+    // "ca" value are deleted.
+    config.setLocale(QStringLiteral("ca"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foo"));
+    QVERIFY(!cg.hasKey("foostring"));
+    QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+    QVERIFY(!cg.hasKey("foobool"));
+    // Check where the wrong values come from.
+    // We get the "ca" value.
+    QCOMPARE(cg.readEntry("foobool", false), true);
+    // We get the "ca" value.
+    QCOMPARE(cg.readEntry("foo", 0), 5);
+
+    // Cleanup
+    QFile::remove(file);
+}
+
+void KConfigTest::testKdeGlobals()
+{
+    {
+        KConfig glob(QStringLiteral("kdeglobals"));
+        KConfigGroup general(&glob, QStringLiteral("General"));
+        general.writeEntry("testKG", "1");
+        QVERIFY(glob.sync());
+    }
+
+    KConfig globRead(QStringLiteral("kdeglobals"));
+    const KConfigGroup general(&globRead, QStringLiteral("General"));
+    QCOMPARE(general.readEntry("testKG"), QStringLiteral("1"));
+
+    // Check we wrote into kdeglobals
+    const QList<QByteArray> lines = readLines(QStringLiteral("kdeglobals"));
+    QVERIFY(lines.contains("[General]\n"));
+    QVERIFY(lines.contains("testKG=1\n"));
+
+    // Writing using NoGlobals
+    {
+        KConfig glob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+        KConfigGroup general(&glob, QStringLiteral("General"));
+        general.writeEntry("testKG", "2");
+        QVERIFY(glob.sync());
+    }
+    globRead.reparseConfiguration();
+    QCOMPARE(general.readEntry("testKG"), QStringLiteral("2"));
+
+    // Reading using NoGlobals
+    {
+        KConfig globReadNoGlob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+        const KConfigGroup generalNoGlob(&globReadNoGlob, QStringLiteral("General"));
+        QCOMPARE(generalNoGlob.readEntry("testKG"), QStringLiteral("2"));
+    }
+}
+
+void KConfigTest::testLocalDeletion()
+{
+    // Prepare kdeglobals
+    {
+        KConfig glob(QStringLiteral("kdeglobals"));
+        KConfigGroup general(&glob, QStringLiteral("OwnTestGroup"));
+        general.writeEntry("GlobalKey", "DontTouchMe");
+        QVERIFY(glob.sync());
+    }
+
+    QStringList expectedKeys{QStringLiteral("LocalKey")};
+    expectedKeys.prepend(QStringLiteral("GlobalWrite"));
+
+    // Write into kconfigtest, including deleting GlobalKey
+    {
+        KConfig mainConfig(s_kconfig_test_subdir);
+        KConfigGroup mainGroup(&mainConfig, QStringLiteral("OwnTestGroup"));
+        mainGroup.writeEntry("LocalKey", QStringLiteral("LocalValue"));
+        mainGroup.writeEntry("GlobalWrite", QStringLiteral("GlobalValue"), KConfig::Persistent | KConfig::Global); // goes to kdeglobals
+        QCOMPARE(mainGroup.readEntry("GlobalKey"), QStringLiteral("DontTouchMe"));
+        mainGroup.deleteEntry("GlobalKey"); // local deletion ([$d]), kdeglobals is unchanged
+        QCOMPARE(mainGroup.readEntry("GlobalKey", "Default"), QStringLiteral("Default")); // key is gone
+        QCOMPARE(mainGroup.keyList(), expectedKeys);
+    }
+
+    // Check what ended up in kconfigtest
+    const QList<QByteArray> lines = readLines();
+    QVERIFY(lines.contains("[OwnTestGroup]\n"));
+    QVERIFY(lines.contains("GlobalKey[$d]\n"));
+
+    // Check what ended up in kdeglobals
+    {
+        KConfig globReadNoGlob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+        const KConfigGroup generalNoGlob(&globReadNoGlob, QStringLiteral("OwnTestGroup"));
+        QCOMPARE(generalNoGlob.readEntry("GlobalKey"), QStringLiteral("DontTouchMe"));
+        QCOMPARE(generalNoGlob.readEntry("GlobalWrite"), QStringLiteral("GlobalValue"));
+        QVERIFY(!generalNoGlob.hasKey("LocalValue"));
+        QStringList expectedGlobalKeys{QStringLiteral("GlobalKey")};
+        expectedGlobalKeys.append(QStringLiteral("GlobalWrite"));
+        QCOMPARE(generalNoGlob.keyList(), expectedGlobalKeys);
+    }
+
+    // Check what we see when re-reading the config file
+    {
+        KConfig mainConfig(s_kconfig_test_subdir);
+        KConfigGroup mainGroup(&mainConfig, QStringLiteral("OwnTestGroup"));
+        QCOMPARE(mainGroup.readEntry("GlobalKey", "Default"), QStringLiteral("Default")); // key is gone
+        QCOMPARE(mainGroup.keyList(), expectedKeys);
+    }
+}
+
+void KConfigTest::testAnonymousConfig()
+{
+    KConfig anonConfig(QString(), KConfig::SimpleConfig);
+    KConfigGroup general(&anonConfig, QStringLiteral("General"));
+    QCOMPARE(general.readEntry("testKG"), QString()); // no kdeglobals merging
+    general.writeEntry("Foo", "Bar");
+    QCOMPARE(general.readEntry("Foo"), QStringLiteral("Bar"));
+}
+
+void KConfigTest::testQByteArrayUtf8()
+{
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    KConfig config(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup general(&config, QStringLiteral("General"));
+    QByteArray bytes(256, '\0');
+    for (int i = 0; i < 256; i++) {
+        bytes[i] = i;
+    }
+    general.writeEntry("Utf8", bytes);
+    config.sync();
+    file.flush();
+    file.close();
+    QFile readFile(file.fileName());
+    QVERIFY(readFile.open(QFile::ReadOnly));
+#define VALUE                                                                                                                                                  \
+    "Utf8="                                                                                                                                                    \
+    "\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x" \
+    "1f "                                                                                                                                                      \
+    "!\"#$%&'()*+,-./"                                                                                                                                         \
+    "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"                                                                       \
+    "\\x7f\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b\\x9c\\" \
+    "x9d\\x9e\\x9f\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xab\\xac\\xad\\xae\\xaf\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xb" \
+    "b\\xbc\\xbd\\xbe\\xbf\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\\xd0\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9"  \
+    "\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xe0\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\" \
+    "xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff"
+    const QByteArray fileBytes = readFile.readAll();
+#ifndef Q_OS_WIN
+    QCOMPARE(fileBytes, QByteArrayLiteral("[General]\n" VALUE "\n"));
+#else
+    QCOMPARE(fileBytes, QByteArrayLiteral("[General]\r\n" VALUE "\r\n"));
+#endif
+#undef VALUE
+
+    // check that reading works
+    KConfig config2(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup general2(&config2, QStringLiteral("General"));
+    QCOMPARE(bytes, general2.readEntry("Utf8", QByteArray()));
+}
+
+void KConfigTest::testQStringUtf8_data()
+{
+    QTest::addColumn<QByteArray>("data");
+    QTest::newRow("1") << QByteArray("Téléchargements\tTéléchargements");
+    QTest::newRow("2") << QByteArray("$¢ह€𐍈\t$¢ह€𐍈");
+    QTest::newRow("3") << QByteArray("\xc2\xe0\xa4\xf0\x90\x8d\t\\xc2\\xe0\\xa4\\xf0\\x90\\x8d");
+    // 2 byte overlong
+    QTest::newRow("4") << QByteArray("\xc1\xbf\t\\xc1\\xbf");
+    // 3 byte overlong
+    QTest::newRow("5") << QByteArray("\xe0\x9f\xbf\t\\xe0\\x9f\\xbf");
+    // 4 byte overlong
+    QTest::newRow("6") << QByteArray("\xf0\x8f\xbf\xbf\t\\xf0\\x8f\\xbf\\xbf");
+    // outside unicode range
+    QTest::newRow("7") << QByteArray("\xf4\x90\x80\x80\t\\xf4\\x90\\x80\\x80");
+    // just within range
+    QTest::newRow("8") << QByteArray("\xc2\x80\t\xc2\x80");
+    QTest::newRow("9") << QByteArray("\xe0\xa0\x80\t\xe0\xa0\x80");
+    QTest::newRow("10") << QByteArray("\xf0\x90\x80\x80\t\xf0\x90\x80\x80");
+    QTest::newRow("11") << QByteArray("\xf4\x8f\xbf\xbf\t\xf4\x8f\xbf\xbf");
+}
+
+void KConfigTest::testQStringUtf8()
+{
+    QFETCH(QByteArray, data);
+    const QList<QByteArray> d = data.split('\t');
+    const QByteArray value = d[0];
+    const QByteArray serialized = d[1];
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    KConfig config(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup general(&config, QStringLiteral("General"));
+    general.writeEntry("key", value);
+    config.sync();
+    file.flush();
+    file.close();
+    QFile readFile(file.fileName());
+    QVERIFY(readFile.open(QFile::ReadOnly));
+    QByteArray fileBytes = readFile.readAll();
+#ifdef Q_OS_WIN
+    fileBytes.replace(QByteArrayLiteral("\r\n"), QByteArrayLiteral("\n"));
+#endif
+    QCOMPARE(fileBytes, QByteArrayLiteral("[General]\nkey=") + serialized + QByteArrayLiteral("\n"));
+
+    // check that reading works
+    KConfig config2(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup general2(&config2, QStringLiteral("General"));
+    QCOMPARE(value, general2.readEntry("key", QByteArray()));
+}
+
+void KConfigTest::testNewlines()
+{
+    // test that kconfig always uses the native line endings
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    KConfig anonConfig(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup general(&anonConfig, QStringLiteral("General"));
+    general.writeEntry("Foo", "Bar");
+    general.writeEntry("Bar", "Foo");
+    anonConfig.sync();
+    file.flush();
+    file.close();
+    QFile readFile(file.fileName());
+    QVERIFY(readFile.open(QFile::ReadOnly));
+#ifndef Q_OS_WIN
+    QCOMPARE(readFile.readAll(), QByteArrayLiteral("[General]\nBar=Foo\nFoo=Bar\n"));
+#else
+    QCOMPARE(readFile.readAll(), QByteArrayLiteral("[General]\r\nBar=Foo\r\nFoo=Bar\r\n"));
+#endif
+}
+
+void KConfigTest::testMoveValuesTo()
+{
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    // Prepare kdeglobals
+    {
+        KConfig glob(QStringLiteral("kdeglobals"));
+        KConfigGroup general(&glob, QStringLiteral("TestGroup"));
+        general.writeEntry("GlobalKey", "PlsDeleteMe");
+        QVERIFY(glob.sync());
+    }
+
+    KConfigGroup grp = KSharedConfig::openConfig(file.fileName())->group(QStringLiteral("TestGroup"));
+
+    grp.writeEntry("test1", "first_value");
+    grp.writeEntry("test_empty", "");
+    grp.writeEntry("other", "other_value");
+    grp.writePathEntry("my_path", QStringLiteral("~/somepath"));
+    // because this key is from the global file it should be explicitly deleted
+    grp.deleteEntry("GlobalKey");
+
+    QTemporaryFile targetFile;
+    QVERIFY(targetFile.open());
+    targetFile.close();
+    KConfigGroup targetGroup = KSharedConfig::openConfig(targetFile.fileName(), KConfig::SimpleConfig)->group(QStringLiteral("MoveToGroup"));
+
+    grp.moveValuesTo({"test1", "test_empty", "does_not_exist", "my_path", "GlobalKey"}, targetGroup);
+    QVERIFY(grp.config()->isDirty());
+    QVERIFY(targetGroup.config()->isDirty());
+
+    QCOMPARE(grp.keyList(), QStringList{QStringLiteral("other")});
+    QStringList expectedKeyList{QStringLiteral("my_path"), QStringLiteral("test1"), QStringLiteral("test_empty")};
+    QCOMPARE(targetGroup.keyList(), expectedKeyList);
+    QCOMPARE(targetGroup.readEntry("test1"), QStringLiteral("first_value"));
+
+    targetGroup.sync();
+    QFile targetReadFile(targetFile.fileName());
+    targetReadFile.open(QFile::ReadOnly);
+    QVERIFY(targetReadFile.readAll().contains(QByteArray("my_path[$e]=~/somepath")));
+}
+
+void KConfigTest::testMoveAllValuesTo()
+{
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    // Prepare kdeglobals
+    {
+        KConfig glob(QStringLiteral("kdeglobals"));
+        KConfigGroup general(&glob, QStringLiteral("TestGroup"));
+        general.writeEntry("GlobalKey", "PlsDeleteMe");
+        QVERIFY(glob.sync());
+    }
+
+    KConfigGroup grp = KSharedConfig::openConfig(file.fileName())->group(QStringLiteral("TestGroup"));
+
+    grp.writeEntry("test1", "first_value");
+    grp.writeEntry("test_empty", "");
+    grp.writePathEntry("my_path", QStringLiteral("~/somepath"));
+    // because this key is from the global file it should be explicitly deleted
+    grp.deleteEntry("GlobalKey");
+
+    QTemporaryFile targetFile;
+    QVERIFY(targetFile.open());
+    targetFile.close();
+    KConfigGroup targetGroup = KSharedConfig::openConfig(targetFile.fileName(), KConfig::SimpleConfig)->group(QStringLiteral("MoveToGroup"));
+
+    grp.moveValuesTo(targetGroup);
+    QVERIFY(grp.config()->isDirty());
+    QVERIFY(targetGroup.config()->isDirty());
+
+    QStringList expectedKeyList{QStringLiteral("my_path"), QStringLiteral("test1"), QStringLiteral("test_empty")};
+    QCOMPARE(targetGroup.keyList(), expectedKeyList);
+    QCOMPARE(targetGroup.readEntry("test1"), QStringLiteral("first_value"));
+
+    targetGroup.sync();
+    QFile targetReadFile(targetFile.fileName());
+    targetReadFile.open(QFile::ReadOnly);
+    QVERIFY(targetReadFile.readAll().contains(QByteArray("my_path[$e]=~/somepath")));
+}
+
+void KConfigTest::testXdgListEntry()
+{
+    QTemporaryFile file;
+    QVERIFY(file.open());
+    QTextStream out(&file);
+    out << "[General]\n"
+        << "Key1=\n" // empty list
+        // emtpty entries
+        << "Key2=;\n"
+        << "Key3=;;\n"
+        << "Key4=;;;\n"
+        << "Key5=\\;\n"
+        << "Key6=1;2\\;3;;\n";
+    out.flush();
+    file.close();
+    KConfig anonConfig(file.fileName(), KConfig::SimpleConfig);
+    KConfigGroup grp = anonConfig.group(QStringLiteral("General"));
+    QStringList invalidList; // use this as a default when an empty list is expected
+    invalidList << QStringLiteral("Error! Default value read!");
+    QCOMPARE(grp.readXdgListEntry("Key1", invalidList), (QStringList{}));
+    QCOMPARE(grp.readXdgListEntry("Key2", invalidList), (QStringList{QString{}}));
+    QCOMPARE(grp.readXdgListEntry("Key3", invalidList), (QStringList{QString{}, QString{}}));
+    QCOMPARE(grp.readXdgListEntry("Key4", invalidList), (QStringList{QString{}, QString{}, QString{}}));
+    QCOMPARE(grp.readXdgListEntry("Key5", invalidList), (QStringList{QStringLiteral(";")}));
+    QCOMPARE(grp.readXdgListEntry("Key6", invalidList), (QStringList{QStringLiteral("1"), QStringLiteral("2;3"), QString{}}));
+}
+
+#include <QThreadPool>
+#include <qtconcurrentrun.h>
+
+// To find multithreading bugs: valgrind --tool=helgrind --track-lockorders=no ./kconfigtest testThreads
+void KConfigTest::testThreads()
+{
+    QThreadPool::globalInstance()->setMaxThreadCount(6);
+    // Run in parallel some tests that work on different config files,
+    // otherwise unexpected things might indeed happen.
+    const QList<QFuture<void>> futures = {
+        QtConcurrent::run(&KConfigTest::testAddConfigSources, this),
+        QtConcurrent::run(&KConfigTest::testSimple, this),
+        QtConcurrent::run(&KConfigTest::testDefaults, this),
+        QtConcurrent::run(&KConfigTest::testSharedConfig, this),
+        QtConcurrent::run(&KConfigTest::testSharedConfig, this),
+    };
+
+    // QEXPECT_FAIL triggers race conditions, it should be fixed to use QThreadStorage...
+    // futures << QtConcurrent::run(this, &KConfigTest::testDeleteWhenLocalized);
+    // futures << QtConcurrent::run(this, &KConfigTest::testEntryMap);
+    for (QFuture<void> f : futures) {
+        f.waitForFinished();
+    }
+}
+
+void KConfigTest::testNotify()
+{
+#if !KCONFIG_USE_DBUS
+    QSKIP("KConfig notification requires DBus");
+#endif
+
+    KConfig config(s_kconfig_test_subdir);
+    auto myConfigGroup = KConfigGroup(&config, QStringLiteral("TopLevelGroup"));
+
+    // mimics a config in another process, which is watching for events
+    auto remoteConfig = KSharedConfig::openConfig(s_kconfig_test_subdir);
+    KConfigWatcher::Ptr watcher = KConfigWatcher::create(remoteConfig);
+
+    // some random config that shouldn't be changing when kconfigtest changes, only on kdeglobals
+    auto otherRemoteConfig = KSharedConfig::openConfig(s_test_subdir + QLatin1String("kconfigtest2"));
+    KConfigWatcher::Ptr otherWatcher = KConfigWatcher::create(otherRemoteConfig);
+
+    QSignalSpy watcherSpy(watcher.data(), &KConfigWatcher::configChanged);
+    QSignalSpy otherWatcherSpy(otherWatcher.data(), &KConfigWatcher::configChanged);
+
+    // write entries in a group and subgroup
+    myConfigGroup.writeEntry("entryA", "foo", KConfig::Persistent | KConfig::Notify);
+    auto subGroup = myConfigGroup.group(QStringLiteral("aSubGroup"));
+    subGroup.writeEntry("entry1", "foo", KConfig::Persistent | KConfig::Notify);
+    subGroup.writeEntry("entry2", "foo", KConfig::Persistent | KConfig::Notify);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.count(), 2);
+
+    std::sort(watcherSpy.begin(), watcherSpy.end(), [](QList<QVariant> a, QList<QVariant> b) {
+        return a[0].value<KConfigGroup>().name() < b[0].value<KConfigGroup>().name();
+    });
+
+    QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+    QCOMPARE(watcherSpy[1][0].value<KConfigGroup>().name(), QStringLiteral("aSubGroup"));
+    QCOMPARE(watcherSpy[1][0].value<KConfigGroup>().parent().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(watcherSpy[1][1].value<QByteArrayList>(), QByteArrayList({"entry1", "entry2"}));
+
+    // delete an entry
+    watcherSpy.clear();
+    myConfigGroup.deleteEntry("entryA", KConfig::Persistent | KConfig::Notify);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.count(), 1);
+    QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+    // revert to default an entry
+    watcherSpy.clear();
+    myConfigGroup.revertToDefault("entryA", KConfig::Persistent | KConfig::Notify);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.count(), 1);
+    QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+    // deleting a group, should notify that every entry in that group has changed
+    watcherSpy.clear();
+    myConfigGroup.deleteGroup(QStringLiteral("aSubGroup"), KConfig::Persistent | KConfig::Notify);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.count(), 1);
+    QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("aSubGroup"));
+    QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entry1", "entry2"}));
+
+    // global write still triggers our notification
+    watcherSpy.clear();
+    myConfigGroup.writeEntry("someGlobalEntry", "foo", KConfig::Persistent | KConfig::Notify | KConfig::Global);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.count(), 1);
+    QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"someGlobalEntry"}));
+
+    // watching another file should have only triggered from the kdeglobals change
+    QCOMPARE(otherWatcherSpy.count(), 1);
+    QCOMPARE(otherWatcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+    QCOMPARE(otherWatcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"someGlobalEntry"}));
+}
+
+void KConfigTest::testNotifyIllegalObjectPath()
+{
+#if !KCONFIG_USE_DBUS
+    QSKIP("KConfig notification requires DBus");
+#endif
+
+    KConfig config(s_kconfig_test_illegal_object_path);
+    auto myConfigGroup = KConfigGroup(&config, QStringLiteral("General"));
+
+    // mimics a config in another process, which is watching for events
+    auto remoteConfig = KSharedConfig::openConfig(s_kconfig_test_illegal_object_path);
+    KConfigWatcher::Ptr watcher = KConfigWatcher::create(remoteConfig);
+
+    QSignalSpy watcherSpy(watcher.data(), &KConfigWatcher::configChanged);
+
+    // write entries in a group and subgroup
+    myConfigGroup.writeEntry("entryA", "foo", KConfig::Persistent | KConfig::Notify);
+    config.sync();
+    watcherSpy.wait();
+    QCOMPARE(watcherSpy.size(), 1);
+}
+
+void KConfigTest::testKAuthorizeEnums()
+{
+    KSharedConfig::Ptr config = KSharedConfig::openConfig();
+    KConfigGroup actionRestrictions = config->group(QStringLiteral("KDE Action Restrictions"));
+    actionRestrictions.writeEntry("shell_access", false);
+    actionRestrictions.writeEntry("action/open_with", false);
+
+    QVERIFY(!KAuthorized::authorize(KAuthorized::SHELL_ACCESS));
+    QVERIFY(!KAuthorized::authorizeAction(KAuthorized::OPEN_WITH));
+    actionRestrictions.deleteGroup();
+
+    QVERIFY(!KAuthorized::authorize((KAuthorized::GenericRestriction)0));
+    QVERIFY(!KAuthorized::authorizeAction((KAuthorized::GenericAction)0));
+}
+
+void KConfigTest::testKdeglobalsVsDefault()
+{
+    // Add testRestore key with global value in kdeglobals
+    KConfig glob(QStringLiteral("kdeglobals"));
+    KConfigGroup generalGlob(&glob, QStringLiteral("General"));
+    generalGlob.writeEntry("testRestore", "global");
+    QVERIFY(glob.sync());
+
+    KConfig local(s_test_subdir + QLatin1String("restorerc"));
+    KConfigGroup generalLocal(&local, QStringLiteral("General"));
+    // Check if we get global and not the default value from cpp (defaultcpp) when reading data from restorerc
+    QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("global"));
+
+    // Add test restore key with restore value in restorerc file
+    generalLocal.writeEntry("testRestore", "restore");
+    QVERIFY(local.sync());
+    local.reparseConfiguration();
+    // We expect to get the value from restorerc file
+    QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("restore"));
+
+    // Revert to default testRestore key and we expect to get default value and not the global one
+    generalLocal.revertToDefault("testRestore");
+    local.sync();
+    local.reparseConfiguration();
+    QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("defaultcpp"));
+}
+
+#include "moc_kconfigtest.cpp"
diff --git a/autotests/kconfigtest.h b/autotests/kconfigtest.h
new file mode 100644 (file)
index 0000000..c04e63e
--- /dev/null
@@ -0,0 +1,102 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGTEST_H
+#define KCONFIGTEST_H
+
+#include <QObject>
+
+class KConfigTest : public QObject
+{
+    Q_OBJECT
+
+public:
+    enum Testing {
+        Ones = 1,
+        Tens = 10,
+        Hundreds = 100,
+    };
+    Q_ENUM(Testing)
+    enum bits {
+        bit0 = 1,
+        bit1 = 2,
+        bit2 = 4,
+        bit3 = 8,
+    };
+    Q_DECLARE_FLAGS(Flags, bits)
+    Q_FLAG(Flags)
+
+private Q_SLOTS:
+    void initTestCase();
+    void cleanupTestCase();
+    void testSimple();
+    void testDefaults();
+    void testLists();
+    void testLocale();
+    void testEncoding();
+    void testPath();
+    void testPathQtHome();
+    void testPersistenceOfExpandFlagForPath();
+    void testComplex();
+    void testEnums();
+    void testEntryMap();
+    void testInvalid();
+    void testDeleteEntry();
+    void testDelete();
+    void testDeleteWhenLocalized();
+    void testDefaultGroup();
+    void testEmptyGroup();
+    void testCascadingWithLocale();
+    void testMerge();
+    void testImmutable();
+    void testGroupEscape();
+    void testRevertAllEntries();
+    void testChangeGroup();
+    void testGroupCopyTo();
+    void testConfigCopyTo();
+    void testConfigCopyToSync();
+    void testReparent();
+    void testAnonymousConfig();
+    void testQByteArrayUtf8();
+    void testQStringUtf8_data();
+    void testQStringUtf8();
+
+    void testMoveValuesTo();
+    void testMoveAllValuesTo();
+
+    void testSubGroup();
+    void testAddConfigSources();
+    void testWriteOnSync();
+    void testFailOnReadOnlyFileSync();
+    void testDirtyOnEqual();
+    void testDirtyOnEqualOverdo();
+    void testCreateDir();
+    void testSharedConfig();
+    void testOptionOrder();
+    void testLocaleConfig();
+    void testDirtyAfterRevert();
+    void testKdeGlobals();
+    void testLocalDeletion();
+    void testNewlines();
+    void testXdgListEntry();
+    void testNotify();
+    void testNotifyIllegalObjectPath();
+    void testKAuthorizeEnums();
+
+    void testThreads();
+
+    void testKdeglobalsVsDefault();
+
+    // should be last
+    void testSyncOnExit();
+
+private:
+    QString m_testConfigDir;
+    QString m_kdeGlobalsPath;
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigTest::Flags)
+
+#endif /* KCONFIGTEST_H */
diff --git a/autotests/kdesktopfiletest.cpp b/autotests/kdesktopfiletest.cpp
new file mode 100644 (file)
index 0000000..a3d7935
--- /dev/null
@@ -0,0 +1,305 @@
+/*
+    SPDX-FileCopyrightText: 2006 David Faure <faure@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+*/
+#include "kdesktopfiletest.h"
+#include "helper.h"
+#include <kconfiggroup.h>
+#include <kdesktopfileaction.h>
+#include <ksharedconfig.h>
+#include <qtemporaryfile.h>
+
+#include "kdesktopfile.h"
+
+#include <QTest>
+
+#if defined(Q_OS_UNIX)
+#include <unistd.h>
+#endif
+
+QTEST_MAIN(KDesktopFileTest)
+
+void KDesktopFileTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+
+    KConfigGroup actionRestrictions(KSharedConfig::openConfig(), QStringLiteral("KDE Action Restrictions"));
+    actionRestrictions.writeEntry("someBlockedAction", false);
+}
+
+void KDesktopFileTest::testRead()
+{
+    qputenv("TESTVAR", "value");
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testReadXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          "Type= Application\n"
+          "Name=My Application\n"
+          "Icon = foo\n"
+          "URL[$e]=file:///tmp/$TESTVAR\n"
+          "MimeType =text/plain;image/png;\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+    QVERIFY(KDesktopFile::isDesktopFile(fileName));
+    KDesktopFile df(fileName);
+    QCOMPARE(df.readType(), QString::fromLatin1("Application"));
+    QVERIFY(df.hasApplicationType());
+    QCOMPARE(df.readName(), QString::fromLatin1("My Application"));
+    QCOMPARE(df.readIcon(), QString::fromLatin1("foo"));
+    QCOMPARE(df.readMimeTypes(), QStringList() << QString::fromLatin1("text/plain") << QString::fromLatin1("image/png"));
+    QVERIFY(!df.hasLinkType());
+    QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath());
+    QCOMPARE(df.readUrl(), QStringLiteral("file:///tmp/value"));
+}
+
+void KDesktopFileTest::testReadLocalized_data()
+{
+    QTest::addColumn<QLocale>("locale");
+    QTest::addColumn<QString>("translation");
+
+    const QString german = QStringLiteral("Meine Anwendung");
+    const QString swiss = QStringLiteral("Mein Anwendungsli");
+
+    QTest::newRow("de") << QLocale(QLocale::German) << german;
+    QTest::newRow("de_DE") << QLocale(QStringLiteral("de_DE")) << german;
+    QTest::newRow("de_DE@bayern") << QLocale(QStringLiteral("de_DE@bayern")) << german;
+    QTest::newRow("de@bayern") << QLocale(QStringLiteral("de@bayern")) << german;
+    QTest::newRow("de@freiburg") << QLocale(QStringLiteral("de@freiburg")) << QStringLiteral("Mein Anwendungsle");
+    // For CH we have a special translation
+    QTest::newRow("de_CH") << QLocale(QLocale::German, QLocale::Switzerland) << swiss;
+    QTest::newRow("de_CH@bern") << QLocale(QStringLiteral("de_CH@bern")) << swiss;
+    // Austria should fall back to "de"
+    QTest::newRow("de_AT") << QLocale(QLocale::German, QLocale::Austria) << german;
+    QTest::newRow("de_AT@tirol") << QLocale(QStringLiteral("de_AT@tirol")) << german;
+    // no translation for French
+    QTest::newRow("fr") << QLocale(QLocale::French) << QStringLiteral("My Application");
+}
+
+void KDesktopFileTest::testReadLocalized()
+{
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testReadLocalizedXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          "Type=Application\n"
+          "Name=My Application\n"
+          "Name[de]=Meine Anwendung\n"
+          "Name[de@freiburg]=Mein Anwendungsle\n"
+          "Name[de_CH]=Mein Anwendungsli\n"
+          "Icon=foo\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+    QVERIFY(KDesktopFile::isDesktopFile(fileName));
+
+    DefaultLocale defaultLocale;
+
+    QFETCH(QLocale, locale);
+    QLocale::setDefault(locale);
+    KDesktopFile df(fileName);
+
+    QEXPECT_FAIL("de@freiburg", "QLocale doesn't support modifiers", Continue);
+    QTEST(df.readName(), "translation");
+}
+
+void KDesktopFileTest::testSuccessfulTryExec()
+{
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testSuccessfulTryExecXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          "TryExec=whoami\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+    KDesktopFile df(fileName);
+    QCOMPARE(df.tryExec(), true);
+}
+
+void KDesktopFileTest::testUnsuccessfulTryExec()
+{
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testUnsuccessfulTryExecXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          "TryExec=/does/not/exist\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+    KDesktopFile df(fileName);
+    QCOMPARE(df.tryExec(), false);
+}
+
+void KDesktopFileTest::testActionGroup()
+{
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testActionGroupXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          // make sure escaping of ';' using "\;" works
+          "Actions=encrypt;semi\\;colon;decrypt;\n"
+          "[Desktop Action encrypt]\n"
+          "Name=Encrypt file\n"
+          "[Desktop Action decrypt]\n"
+          "Name=Decrypt file\n"
+          // no escaping needed in group header
+          "[Desktop Action semi;colon]\n"
+          "Name=With semicolon\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+    KDesktopFile df(fileName);
+    QCOMPARE(df.readType(), QString());
+    QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath());
+    QCOMPARE(df.readActions(), (QStringList{QStringLiteral("encrypt"), QStringLiteral("semi;colon"), QStringLiteral("decrypt")}));
+    QCOMPARE(df.hasActionGroup(QStringLiteral("encrypt")), true);
+    QCOMPARE(df.hasActionGroup(QStringLiteral("semi;colon")), true);
+    QCOMPARE(df.hasActionGroup(QStringLiteral("decrypt")), true);
+    QCOMPARE(df.hasActionGroup(QStringLiteral("doesnotexist")), false);
+
+    const auto actions = df.actions();
+    QCOMPARE(actions.size(), 3);
+    QVERIFY(std::all_of(actions.begin(), actions.end(), [&fileName](const KDesktopFileAction &action) {
+        return action.desktopFilePath() == fileName;
+    }));
+    QCOMPARE(actions.at(0).actionsKey(), QStringLiteral("encrypt"));
+    QCOMPARE(actions.at(0).name(), QStringLiteral("Encrypt file"));
+    QCOMPARE(actions.at(1).actionsKey(), QStringLiteral("semi;colon"));
+    QCOMPARE(actions.at(1).name(), QStringLiteral("With semicolon"));
+    QCOMPARE(actions.at(2).name(), QStringLiteral("Decrypt file"));
+    QCOMPARE(actions.at(2).actionsKey(), QStringLiteral("decrypt"));
+    QCOMPARE(actions.at(2).name(), QStringLiteral("Decrypt file"));
+}
+
+void KDesktopFileTest::testIsAuthorizedDesktopFile()
+{
+    QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthXXXXXX.desktop"));
+    QVERIFY(file.open());
+    const QString fileName = file.fileName();
+    QTextStream ts(&file);
+    ts << "[Desktop Entry]\n"
+          "Type=Application\n"
+          "Name=My Application\n"
+          "Exec=kfoo\n"
+          "\n";
+    file.close();
+    QVERIFY(QFile::exists(fileName));
+
+#if defined(Q_OS_UNIX)
+    // Try to fix test failing in docker running as root
+    const QFileInfo entryInfo(fileName);
+    if (entryInfo.ownerId() == 0) {
+        // try to find a valid user/group combination
+        for (int i = 1; i < 100; ++i) {
+            if (chown(fileName.toLocal8Bit().constData(), i, i) == 0) {
+                break;
+            }
+        }
+        const QFileInfo entryInfo1(fileName);
+        if (entryInfo1.ownerId() == 0) {
+            QEXPECT_FAIL("", "Running test as root and could not find a non root user to change the ownership of the file too", Continue);
+        }
+    }
+#endif
+
+    QVERIFY(!KDesktopFile::isAuthorizedDesktopFile(fileName));
+
+    const QString autostartFile = QStandardPaths::locate(QStandardPaths::GenericConfigLocation, QStringLiteral("autostart/plasma-desktop.desktop"));
+    if (!autostartFile.isEmpty()) {
+        QVERIFY(KDesktopFile::isAuthorizedDesktopFile(autostartFile));
+    } else {
+        qWarning("Skipping test for plasma-desktop.desktop, not found. kde-workspace not installed?");
+    }
+}
+
+void KDesktopFileTest::testTryExecWithAuthorizeAction()
+{
+    {
+        QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthActionXXXXXX.desktop"));
+        QVERIFY(file.open());
+        const QString fileName = file.fileName();
+        QTextStream ts(&file);
+        ts << "[Desktop Entry]\n"
+              "Type=Application\n"
+              "Name=My Application\n"
+              "Exec=kfoo\n"
+              "TryExec=";
+#ifdef Q_OS_WIN
+        ts << "cmd\n";
+#else
+        ts << "bash\n";
+#endif
+        ts << "X-KDE-AuthorizeAction=someAction"
+              "\n";
+        file.close();
+
+        KDesktopFile desktopFile(fileName);
+        QVERIFY(desktopFile.tryExec());
+    }
+    {
+        QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthActionXXXXXX.desktop"));
+        QVERIFY(file.open());
+        const QString fileName = file.fileName();
+        QTextStream ts(&file);
+        ts << "[Desktop Entry]\n"
+              "Type=Application\n"
+              "Name=My Application\n"
+              "Exec=kfoo\n"
+              "TryExec=bash\n"
+              "X-KDE-AuthorizeAction=someBlockedAction"
+              "\n";
+        file.close();
+
+        KDesktopFile desktopFile(fileName);
+        QVERIFY(!desktopFile.tryExec());
+    }
+}
+
+void KDesktopFileTest::testLocateLocal_data()
+{
+    const QString systemConfigLocation = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation).constLast();
+    const QString writableConfigLocation = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+    const QString systemDataLocation = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).constLast();
+    const QString writableDataLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
+
+    QTest::addColumn<QString>("path");
+    QTest::addColumn<QString>("result");
+
+    QTest::newRow("configLocation, system-wide") << systemConfigLocation + QLatin1String{"/test.desktop"}
+                                                 << writableConfigLocation + QLatin1String{"/test.desktop"};
+    QTest::newRow("autostart, system-wide") << systemConfigLocation + QLatin1String{"/autostart/test.desktop"}
+                                            << writableConfigLocation + QLatin1String{"/autostart/test.desktop"};
+    QTest::newRow("dataLocation, system-wide") << systemDataLocation + QLatin1String{"/test.desktop"} << writableDataLocation + QLatin1String{"/test.desktop"};
+    QTest::newRow("applications, system-wide") << systemDataLocation + QLatin1String{"/applications/test.desktop"}
+                                               << writableDataLocation + QLatin1String{"/applications/test.desktop"};
+    QTest::newRow("desktop-directories, system-wide") << systemDataLocation + QLatin1String{"/desktop-directories/test.directory"}
+                                                      << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"};
+    QTest::newRow("configLocation, writable") << writableConfigLocation + QLatin1String{"/test.desktop"}
+                                              << writableConfigLocation + QLatin1String{"/test.desktop"};
+    QTest::newRow("autostart, writable") << writableConfigLocation + QLatin1String{"/autostart/test.desktop"}
+                                         << writableConfigLocation + QLatin1String{"/autostart/test.desktop"};
+    QTest::newRow("dataLocation, writable") << writableDataLocation + QLatin1String{"/test.desktop"} << writableDataLocation + QLatin1String{"/test.desktop"};
+    QTest::newRow("applications, writable") << writableDataLocation + QLatin1String{"/applications/test.desktop"}
+                                            << writableDataLocation + QLatin1String{"/applications/test.desktop"};
+    QTest::newRow("desktop-directories, writable") << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"}
+                                                   << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"};
+    QTest::newRow("unknown location") << QStringLiteral("/test.desktop") << writableDataLocation + QLatin1String{"/test.desktop"};
+}
+
+void KDesktopFileTest::testLocateLocal()
+{
+    QFETCH(QString, path);
+    QFETCH(QString, result);
+
+    QCOMPARE(KDesktopFile::locateLocal(path), result);
+}
+
+#include "moc_kdesktopfiletest.cpp"
diff --git a/autotests/kdesktopfiletest.h b/autotests/kdesktopfiletest.h
new file mode 100644 (file)
index 0000000..92f4ae8
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+    SPDX-FileCopyrightText: 2006 David Faure <faure@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KDESKTOPFILETEST_H
+#define KDESKTOPFILETEST_H
+
+#include <QObject>
+#include <kconfigcore_export.h>
+
+class KDesktopFileTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testRead();
+    void testReadLocalized_data();
+    void testReadLocalized();
+    void testUnsuccessfulTryExec();
+    void testSuccessfulTryExec();
+    void testActionGroup();
+    void testIsAuthorizedDesktopFile();
+    void testTryExecWithAuthorizeAction();
+    void testLocateLocal_data();
+    void testLocateLocal();
+};
+
+#endif /* KDESKTOPFILETEST_H */
diff --git a/autotests/kentrymaptest.cpp b/autotests/kentrymaptest.cpp
new file mode 100644 (file)
index 0000000..2b04024
--- /dev/null
@@ -0,0 +1,211 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2007 Thomas Braxton <kde.braxton@gmail.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kentrymaptest.h"
+
+#include <QTest>
+
+// clazy:excludeall=non-pod-global-static
+
+static const QString group1{QStringLiteral("A Group")};
+static const QByteArray key1{"A Key"};
+static const QByteArray key2{"Another Key"};
+static const QByteArray value1{"A value"};
+static const QByteArray value2{"A different value"};
+
+QTEST_MAIN(KEntryMapTest)
+
+template<typename KeyTypeA, typename KeyTypeB>
+void KEntryMapTest::testKeyOrder()
+{
+    const KeyTypeA groupMarkerA(group1, {});
+    const KeyTypeA entryA(group1, key1);
+    const KeyTypeA localizedA(group1, key1, true, false);
+    const KeyTypeA localizedDefaultA(group1, key1, true, true);
+
+    const KeyTypeB entryB(group1, key1);
+    const KeyTypeB localizedB(group1, key1, true, false);
+    const KeyTypeB localizedDefaultB(group1, key1, true, true);
+    const KeyTypeB defaultEntryB(group1, key1, false, true);
+
+    // group marker should come before all entries
+    QVERIFY(groupMarkerA < entryB);
+    QVERIFY(groupMarkerA < defaultEntryB);
+    QVERIFY(groupMarkerA < localizedB);
+    QVERIFY(groupMarkerA < localizedDefaultB);
+
+    // localized should come before entry
+    QVERIFY(localizedA < entryB);
+
+    // localized-default should come after localized entry
+    QVERIFY(localizedA < localizedDefaultB);
+
+    // localized-default should come before non-localized entry
+    QVERIFY(localizedDefaultA < entryB);
+
+    // default should come after entry
+    QVERIFY(entryA < defaultEntryB);
+}
+
+void KEntryMapTest::testKeyAndKeyOrder()
+{
+    testKeyOrder<KEntryKey, KEntryKey>();
+}
+
+void KEntryMapTest::testKeyAndKeyViewOrder()
+{
+    testKeyOrder<KEntryKey, KEntryKeyView>();
+}
+
+void KEntryMapTest::testKeyViewAndKeyOrder()
+{
+    testKeyOrder<KEntryKeyView, KEntryKey>();
+}
+
+void KEntryMapTest::testSimple()
+{
+    KEntryMap map;
+
+    map.setEntry(group1, key1, value1, EntryOptions());
+    QCOMPARE(map.size(), 2); // the group marker & 1 key
+    map.setEntry(group1, key2, value2, EntryOptions());
+    QCOMPARE(map.size(), 3); // the group marker & 2 keys
+
+    QVERIFY(map.constFindEntry(group1) != map.cend());
+    QCOMPARE(map.constFindEntry(group1.toLower()), map.cend());
+
+    QVERIFY(map.constFindEntry(group1, key1) != map.cend());
+    QCOMPARE(map.constFindEntry(group1, key1.toLower()), map.cend());
+    QVERIFY(map.constFindEntry(group1, key2) != map.cend());
+    QCOMPARE(map.constFindEntry(group1, key2.toUpper()), map.cend());
+
+    QByteArray found = map.constFindEntry(group1, key1)->second.mValue;
+    QCOMPARE(found, value1);
+    QVERIFY(found != value2);
+
+    found = map.constFindEntry(group1, key2)->second.mValue;
+    QVERIFY(found != value1);
+    QCOMPARE(found, value2);
+}
+
+void KEntryMapTest::testDirty()
+{
+    KEntryMap map;
+    bool ret = map.setEntry(group1, key1, value1, EntryDefault);
+    QCOMPARE(ret, true);
+    ret = map.setEntry(group1, key1, value1, EntryDefault);
+    QCOMPARE(ret, false);
+    ret = map.setEntry(group1, key2, value2, EntryOptions());
+    QCOMPARE(ret, true);
+    ret = map.setEntry(group1, key2, value2, EntryOptions());
+    QCOMPARE(ret, false);
+}
+
+void KEntryMapTest::testDefault()
+{
+    KEntryMap map;
+
+    map.setEntry(group1, key1, value1, EntryDefault);
+    QCOMPARE(map.size(), 3); // group marker, default, entry
+    map.setEntry(group1, key2, value2, EntryOptions());
+    QCOMPARE(map.size(), 4); // group marker, default1, entry1, entry2
+
+    const auto defaultEntry(map.constFindEntry(group1, key1, SearchDefaults));
+    const auto entry1(map.constFindEntry(group1, key1));
+    const auto entry2(map.constFindEntry(group1, key2));
+
+    // default set for entry1
+    QVERIFY(defaultEntry != map.cend());
+    QCOMPARE(defaultEntry->second.mValue, entry1->second.mValue);
+
+    // no default set for entry2
+    QCOMPARE(map.constFindEntry(group1, key2, SearchDefaults), map.cend());
+
+    // change from default
+    map.setEntry(group1, key1, value2, EntryOptions());
+    QVERIFY(defaultEntry->second.mValue != entry1->second.mValue);
+    QVERIFY(entry1 != entry2);
+    QCOMPARE(entry1->second.mValue, entry2->second.mValue);
+
+    // revert entry1
+    map.revertEntry(group1, key1, EntryOptions());
+    QCOMPARE(defaultEntry->second.mValue, entry1->second.mValue);
+
+    // revert entry2, no default --> should be marked as deleted
+    map.revertEntry(group1, key2, EntryOptions());
+    QCOMPARE(entry2->second.mValue, QByteArray());
+    QVERIFY(entry2->second.bDirty);
+    QVERIFY(entry2->second.bReverted);
+}
+
+void KEntryMapTest::testDelete()
+{
+    KEntryMap map;
+
+    map.setEntry(group1, key1, value1, EntryDefault);
+    map.setEntry(group1, key2, value2, EntryDefault);
+    QCOMPARE(map.size(), 5);
+
+    map.setEntry(group1, key2, QByteArray(), EntryDeleted | EntryDirty);
+    QCOMPARE(map.size(), 5); // entry should still be in map, so it can override merged entries later
+    QCOMPARE(map.constFindEntry(group1, key2)->second.mValue, QByteArray());
+}
+
+void KEntryMapTest::testGlobal()
+{
+    KEntryMap map;
+
+    map.setEntry(group1, key1, value1, EntryGlobal);
+    QCOMPARE(map.constFindEntry(group1, key1)->second.bGlobal, true);
+
+    // this should create a new key that is not "global"
+    map.setEntry(group1, key1, value2, EntryOptions());
+    QCOMPARE(map.constFindEntry(group1, key1)->second.bGlobal, false);
+}
+
+void KEntryMapTest::testImmutable()
+{
+    KEntryMap map;
+
+    map.setEntry(group1, key1, value1, EntryImmutable);
+    QCOMPARE(map.constFindEntry(group1, key1)->second.bImmutable, true); // verify the immutable bit was set
+
+    map.setEntry(group1, key1, value2, EntryOptions());
+    QCOMPARE(map.constFindEntry(group1, key1)->second.mValue, value1); // verify the value didn't change
+
+    map.clear();
+
+    map.setEntry(group1, QByteArray(), QByteArray(), EntryImmutable);
+    QCOMPARE(map.constFindEntry(group1)->second.bImmutable, true); // verify the group is immutable
+
+    map.setEntry(group1, key1, value1, EntryOptions()); // should be ignored since the group is immutable
+    QCOMPARE(map.constFindEntry(group1, key1), map.cend());
+}
+
+void KEntryMapTest::testLocale()
+{
+    const QByteArray translatedDefault("hola");
+    const QByteArray translated("bonjour");
+    const QByteArray untranslated("hello");
+    KEntryMap map;
+
+    map.setEntry(group1, key1, untranslated, EntryDefault);
+    QCOMPARE(map.constFindEntry(group1, key1)->second.mValue, untranslated);
+    QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, untranslated); // no localized value yet
+
+    map.setEntry(group1, key1, translated, EntryLocalized);
+
+    QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translated); // has localized value now
+    QVERIFY(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue != map.constFindEntry(group1, key1)->second.mValue);
+    QCOMPARE(map.constFindEntry(group1, key1, SearchDefaults | SearchLocalized)->second.mValue, untranslated); // default should still be untranslated
+
+    map.setEntry(group1, key1, translatedDefault, EntryDefault | EntryLocalized);
+    QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translatedDefault);
+    map.setEntry(group1, key1, translated, EntryLocalized); // set the translated entry to a different locale
+    QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translated);
+}
+
+#include "moc_kentrymaptest.cpp"
diff --git a/autotests/kentrymaptest.h b/autotests/kentrymaptest.h
new file mode 100644 (file)
index 0000000..47f7066
--- /dev/null
@@ -0,0 +1,51 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2007 Thomas Braxton <kde.braxton@gmail.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KENTRYMAPTEST_H
+#define KENTRYMAPTEST_H
+
+#include "kconfigdata_p.h"
+#include <QObject>
+
+class KEntryMapTest : public QObject
+{
+    Q_OBJECT
+
+public:
+    typedef KEntryMap::EntryOptions EntryOptions;
+    typedef KEntryMap::SearchFlags SearchFlags;
+
+    typedef KEntryMap::SearchFlag SearchFlag;
+    static const SearchFlag SearchLocalized = KEntryMap::SearchLocalized;
+    static const SearchFlag SearchDefaults = KEntryMap::SearchDefaults;
+
+    typedef KEntryMap::EntryOption EntryOption;
+    static const EntryOption EntryDirty = KEntryMap::EntryDirty;
+    static const EntryOption EntryGlobal = KEntryMap::EntryGlobal;
+    static const EntryOption EntryImmutable = KEntryMap::EntryImmutable;
+    static const EntryOption EntryDeleted = KEntryMap::EntryDeleted;
+    static const EntryOption EntryExpansion = KEntryMap::EntryExpansion;
+    static const EntryOption EntryDefault = KEntryMap::EntryDefault;
+    static const EntryOption EntryLocalized = KEntryMap::EntryLocalized;
+
+private:
+    template<typename KeyTypeA, typename KeyTypeB>
+    void testKeyOrder();
+
+private Q_SLOTS:
+    void testKeyAndKeyOrder();
+    void testKeyAndKeyViewOrder();
+    void testKeyViewAndKeyOrder();
+    void testSimple();
+    void testDirty();
+    void testDefault();
+    void testDelete();
+    void testGlobal();
+    void testImmutable();
+    void testLocale();
+};
+
+#endif // KENTRYMAPTEST_H
diff --git a/autotests/ksharedconfig_in_global_object.cpp b/autotests/ksharedconfig_in_global_object.cpp
new file mode 100644 (file)
index 0000000..e23bea0
--- /dev/null
@@ -0,0 +1,50 @@
+/*  This file is part of the KDE project
+    SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+
+*/
+
+#include <QCoreApplication>
+#include <QTimer>
+#include <QtGlobal>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+#include <stdio.h>
+
+class Tester
+{
+public:
+    void initConfig();
+    ~Tester();
+};
+
+void Tester::initConfig()
+{
+    fprintf(stderr, "app Tester\n");
+    KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("test"));
+    group.writeEntry("test", 0);
+}
+
+Tester::~Tester()
+{
+    fprintf(stderr, "app ~Tester\n");
+    KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("test"));
+    group.writeEntry("test", 1);
+}
+
+Q_GLOBAL_STATIC(Tester, globalTestObject)
+
+int main(int argc, char **argv)
+{
+    qputenv("QT_FATAL_WARNINGS", "1");
+    QCoreApplication app(argc, argv);
+
+    KSharedConfig::Ptr config = KSharedConfig::openConfig();
+
+    Tester *t = globalTestObject();
+    t->initConfig();
+
+    QTimer::singleShot(0, qApp, SLOT(quit()));
+    return app.exec();
+}
diff --git a/autotests/ksharedconfigtest.cpp b/autotests/ksharedconfigtest.cpp
new file mode 100644 (file)
index 0000000..5d7dec7
--- /dev/null
@@ -0,0 +1,159 @@
+/*
+   This file is part of the KDE libraries
+   SPDX-FileCopyrightText: 2012 David Faure <faure@kde.org>
+   SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org>
+
+   SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QTest>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+using namespace Qt::StringLiterals;
+
+class KSharedConfigTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testUnicity();
+    void testReadWrite();
+    void testReadWriteSync();
+    void testQrcFile();
+
+#if !defined(Q_OS_WINDOWS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_OSX) // m_stateDirPath is only applicable on XDG systems
+    void testState()
+    {
+        auto config = KSharedConfig::openStateConfig();
+        config->group(u"Test"_s).writeEntry("Test", true);
+        config->sync();
+        QVERIFY(QFile::exists(m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1));
+    }
+
+    void testStateName()
+    {
+        auto config = KSharedConfig::openStateConfig(u"foobar"_s);
+        config->group(u"Test"_s).writeEntry("Test", true);
+        config->sync();
+        QVERIFY(QFile::exists(m_stateDirPath + "/foobar"_L1));
+    }
+
+    void testStateAbsolute()
+    {
+        QDir().mkpath(m_stateDirPath);
+        const QString path = m_stateDirPath + "/randomsubdir/hellostate"_L1;
+        auto config = KSharedConfig::openStateConfig(path);
+        config->group(u"Test"_s).writeEntry("Test", true);
+        config->sync();
+        QVERIFY(QFile::exists(path));
+    }
+
+    void testStateMigration()
+    {
+        QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
+        // Migrate from old file to new file if new file doesn't exist yet
+        const QString oldPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+        QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+        QVERIFY(QFile::exists(oldPath));
+        const QString newPath = m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+        if (QFile::exists(newPath)) {
+            QFile::remove(newPath); // make sure new file doesn't exist so we can write to it
+        }
+
+        auto config = KSharedConfig::openStateConfig();
+        config->group(u"Test"_s).writeEntry("Test", true);
+        config->sync();
+        QVERIFY(!QFile::exists(oldPath));
+        QVERIFY(QFile::exists(newPath));
+    }
+
+    void testStateMigrationClash()
+    {
+        QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
+        // Both old and new staterc exist -> keep both
+        const QString oldPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+        QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+        QVERIFY(QFile::exists(oldPath));
+        QDir().mkpath(m_stateDirPath);
+        const QString newPath = m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+        QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+        QVERIFY(QFile::exists(oldPath));
+
+        auto config = KSharedConfig::openStateConfig();
+        config->group(u"Test"_s).writeEntry("Test", true);
+        config->sync();
+        QVERIFY(QFile::exists(oldPath));
+        QVERIFY(QFile::exists(newPath));
+    }
+#endif
+
+private:
+    QString m_path;
+    QString m_stateDirPath;
+};
+
+void KSharedConfigTest::initTestCase()
+{
+    constexpr auto xdgStateHomeVar = "XDG_STATE_HOME";
+    const QString xdgStateHome = QDir::homePath() + u"/.qttest/state"_s;
+    qputenv(xdgStateHomeVar, xdgStateHome.toUtf8());
+    QStandardPaths::setTestModeEnabled(true);
+
+    m_path =
+        QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + QCoreApplication::applicationName() + QStringLiteral("rc");
+    QFile::remove(m_path);
+
+    m_stateDirPath = xdgStateHome;
+    QFile::remove(m_stateDirPath);
+}
+
+void KSharedConfigTest::testUnicity()
+{
+    KSharedConfig::Ptr cfg1 = KSharedConfig::openConfig();
+    KSharedConfig::Ptr cfg2 = KSharedConfig::openConfig();
+    QCOMPARE(cfg1.data(), cfg2.data());
+}
+
+void KSharedConfigTest::testReadWrite()
+{
+    const int value = 1;
+    {
+        KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+        cg.writeEntry("NumKey", value);
+    }
+    {
+        KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+        QCOMPARE(cg.readEntry("NumKey", 0), 1);
+    }
+}
+
+void KSharedConfigTest::testReadWriteSync()
+{
+    const int value = 1;
+    {
+        KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+        cg.writeEntry("NumKey", value);
+    }
+    QVERIFY(!QFile::exists(m_path));
+    QVERIFY(KSharedConfig::openConfig()->sync());
+    QVERIFY(QFile::exists(m_path));
+    {
+        KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+        QCOMPARE(cg.readEntry("NumKey", 0), 1);
+    }
+}
+
+void KSharedConfigTest::testQrcFile()
+{
+    QVERIFY(QFile::exists(QStringLiteral(":/testdata/test.ini")));
+    KSharedConfig::Ptr sharedConfig = KSharedConfig::openConfig(QStringLiteral(":/testdata/test.ini"), KConfig::NoGlobals);
+    QVERIFY(sharedConfig);
+
+    KConfigGroup cfg(sharedConfig, QStringLiteral("MainSection"));
+    QCOMPARE(cfg.readEntry(QStringLiteral("TestEntry"), QStringLiteral("UnexpectedData")), QStringLiteral("ExpectedData"));
+}
+
+QTEST_MAIN(KSharedConfigTest)
+
+#include "ksharedconfigtest.moc"
diff --git a/autotests/kstandardshortcuttest.cpp b/autotests/kstandardshortcuttest.cpp
new file mode 100644 (file)
index 0000000..d451988
--- /dev/null
@@ -0,0 +1,64 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2005 David Faure <faure@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kstandardshortcuttest.h"
+#include <QTest>
+
+QTEST_MAIN(KStandardShortcutTest) // GUI needed by KAccel
+
+#include <kstandardshortcut.h>
+
+#ifndef Q_OS_WIN
+void initLocale()
+{
+    setenv("LC_ALL", "en_US.utf-8", 1);
+}
+
+Q_CONSTRUCTOR_FUNCTION(initLocale)
+#endif
+
+void KStandardShortcutTest::testShortcutDefault()
+{
+    QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::FullScreen)), QLatin1String("Ctrl+Shift+F"));
+    QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::BeginningOfLine)), QLatin1String("Home"));
+    QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::EndOfLine)), QLatin1String("End"));
+    QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Home)), QLatin1String("Alt+Home; Home Page"));
+}
+
+void KStandardShortcutTest::testName()
+{
+    QCOMPARE(KStandardShortcut::name(KStandardShortcut::BeginningOfLine), QLatin1String("BeginningOfLine"));
+    QCOMPARE(KStandardShortcut::name(KStandardShortcut::EndOfLine), QLatin1String("EndOfLine"));
+    QCOMPARE(KStandardShortcut::name(KStandardShortcut::Home), QLatin1String("Home"));
+}
+
+void KStandardShortcutTest::testLabel()
+{
+    // Tests run in English, right?
+    QCOMPARE(KStandardShortcut::label(KStandardShortcut::FindNext), QLatin1String("Find Next"));
+    QCOMPARE(KStandardShortcut::label(KStandardShortcut::Home), QLatin1String("Home"));
+}
+
+void KStandardShortcutTest::testShortcut()
+{
+    QCOMPARE(QKeySequence::listToString(KStandardShortcut::shortcut(KStandardShortcut::ZoomIn)), QKeySequence::listToString(KStandardShortcut::zoomIn()));
+}
+
+void KStandardShortcutTest::testFindStdAccel()
+{
+    QCOMPARE(KStandardShortcut::find(QKeySequence(Qt::CTRL | Qt::Key_F)), KStandardShortcut::Find);
+    QCOMPARE(KStandardShortcut::find(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::ALT | Qt::Key_G)), KStandardShortcut::AccelNone);
+}
+
+void KStandardShortcutTest::testFindByName()
+{
+    for (int i = KStandardShortcut::AccelNone + 1; i < KStandardShortcut::StandardShortcutCount; ++i) {
+        const auto id = static_cast<KStandardShortcut::StandardShortcut>(i);
+        QCOMPARE(id, KStandardShortcut::findByName(KStandardShortcut::name(id)));
+    }
+}
+
+#include "moc_kstandardshortcuttest.cpp"
diff --git a/autotests/kstandardshortcuttest.h b/autotests/kstandardshortcuttest.h
new file mode 100644 (file)
index 0000000..ae48445
--- /dev/null
@@ -0,0 +1,25 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2005 David Faure <faure@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSTDACCELTEST_H
+#define KSTDACCELTEST_H
+
+#include <QObject>
+
+class KStandardShortcutTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    // KStandardShortcut tests
+    void testShortcutDefault();
+    void testName();
+    void testLabel();
+    void testShortcut();
+    void testFindStdAccel();
+    void testFindByName();
+};
+
+#endif
diff --git a/autotests/kstandardshortcutwatchertest.cpp b/autotests/kstandardshortcutwatchertest.cpp
new file mode 100644 (file)
index 0000000..b73ebb0
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+    SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+    SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kstandardshortcutwatcher.h"
+#include "kconfiggroup.h"
+#include "ksharedconfig.h"
+#include "kstandardshortcut_p.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTest>
+
+class KStandardShortcutWatcherTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void init();
+    void testSignal();
+    void testDataUpdated();
+};
+
+Q_DECLARE_METATYPE(KStandardShortcut::StandardShortcut)
+
+const QList<QKeySequence> newShortcut = {Qt::CTRL | Qt::Key_Adiaeresis};
+
+void KStandardShortcutWatcherTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+    qRegisterMetaType<KStandardShortcut::StandardShortcut>();
+    QVERIFY(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Open) != newShortcut);
+}
+
+void KStandardShortcutWatcherTest::init()
+{
+    KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+    group.writeEntry("Open", QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Open)), KConfig::Global);
+    group.sync();
+    KStandardShortcut::initialize(KStandardShortcut::Open);
+}
+
+void KStandardShortcutWatcherTest::testSignal()
+{
+#ifdef Q_OS_WIN
+    QSKIP("KConfig is built without DBus on Windows");
+#endif
+    QSignalSpy signalSpy(KStandardShortcut::shortcutWatcher(), &KStandardShortcut::StandardShortcutWatcher::shortcutChanged);
+    KStandardShortcut::saveShortcut(KStandardShortcut::Open, newShortcut);
+    QTRY_COMPARE(signalSpy.count(), 1);
+    const QList<QVariant> arguments = signalSpy.takeFirst();
+    QCOMPARE(arguments[0].toInt(), KStandardShortcut::Open);
+    QCOMPARE(arguments[1].value<QList<QKeySequence>>(), newShortcut);
+}
+
+void KStandardShortcutWatcherTest::testDataUpdated()
+{
+#ifdef Q_OS_WIN
+    QSKIP("KConfig is built without DBus on Windows");
+#endif
+    QSignalSpy signalSpy(KStandardShortcut::shortcutWatcher(), &KStandardShortcut::StandardShortcutWatcher::shortcutChanged);
+    // Writing manually to forego automatic update in saveShortcut()
+    KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+    group.writeEntry("Open", QKeySequence::listToString(newShortcut), KConfig::Global | KConfig::Notify);
+    group.sync();
+    QTRY_COMPARE(signalSpy.count(), 1);
+    QCOMPARE(KStandardShortcut::open(), newShortcut);
+}
+
+QTEST_MAIN(KStandardShortcutWatcherTest)
+#include "kstandardshortcutwatchertest.moc"
diff --git a/autotests/kwindowstatesavertest.cpp b/autotests/kwindowstatesavertest.cpp
new file mode 100644 (file)
index 0000000..5c976ba
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+    SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kwindowstatesaver.h"
+#include "kconfiggroup.h"
+#include "ksharedconfig.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTest>
+
+#include <QProgressDialog>
+
+class KWindowStateSaverTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testTopLevelDialog();
+    void testSubDialog();
+};
+
+void KWindowStateSaverTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+}
+
+void KWindowStateSaverTest::testTopLevelDialog()
+{
+    auto cfg = KSharedConfig::openStateConfig();
+    cfg->deleteGroup(QStringLiteral("topLevelDialogTest"));
+    QSize dlgSize(720, 720);
+
+    {
+        QProgressDialog dlg;
+        new KWindowStateSaver(&dlg, QStringLiteral("topLevelDialogTest"));
+        dlg.show();
+        QTest::qWait(10); // give the window time to show up, so we simulate a user-triggered resize
+        dlg.resize(dlgSize);
+        QTest::qWait(500); // give the state saver time to trigger
+        QCOMPARE(dlg.size(), dlgSize);
+    }
+
+    QVERIFY(cfg->hasGroup(QStringLiteral("topLevelDialogTest")));
+
+    {
+        QProgressDialog dlg;
+        new KWindowStateSaver(&dlg, QStringLiteral("topLevelDialogTest"));
+        dlg.show();
+        QTest::qWait(100); // give the window time to show up properly
+        QCOMPARE(dlg.size(), dlgSize);
+    }
+}
+
+void KWindowStateSaverTest::testSubDialog()
+{
+    QWidget mainWindow;
+    mainWindow.show();
+    QTest::qWait(10);
+
+    auto cfg = KSharedConfig::openStateConfig();
+    cfg->deleteGroup(QStringLiteral("subDialogTest"));
+    QSize dlgSize(700, 500);
+
+    {
+        auto dlg = new QProgressDialog(&mainWindow);
+        new KWindowStateSaver(dlg, QStringLiteral("subDialogTest"));
+        dlg->show();
+        QTest::qWait(10); // give the window time to show up, so we simulate a user-triggered resize
+        dlg->resize(dlgSize);
+        QTest::qWait(500); // give the state saver time to trigger
+        QCOMPARE(dlg->size(), dlgSize);
+        delete dlg;
+    }
+
+    QVERIFY(cfg->hasGroup(QStringLiteral("subDialogTest")));
+
+    {
+        auto dlg = new QProgressDialog(&mainWindow);
+        new KWindowStateSaver(dlg, QStringLiteral("subDialogTest"));
+        dlg->show();
+        QTest::qWait(100); // give the window time to show up properly
+        QCOMPARE(dlg->size(), dlgSize);
+    }
+}
+
+QTEST_MAIN(KWindowStateSaverTest)
+#include "kwindowstatesavertest.moc"
diff --git a/autotests/sharedconfigresources.qrc b/autotests/sharedconfigresources.qrc
new file mode 100644 (file)
index 0000000..c039b98
--- /dev/null
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+    <qresource prefix="/testdata">
+        <file>test.ini</file>
+    </qresource>
+</RCC>
+
diff --git a/autotests/test.ini b/autotests/test.ini
new file mode 100644 (file)
index 0000000..48b5853
--- /dev/null
@@ -0,0 +1,3 @@
+[MainSection]
+TestEntry=ExpectedData
+
diff --git a/autotests/test_kconf_update.cpp b/autotests/test_kconf_update.cpp
new file mode 100644 (file)
index 0000000..5843427
--- /dev/null
@@ -0,0 +1,146 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2010 Canonical Ltd
+    SPDX-FileContributor: Aurélien Gâteau <aurelien.gateau@canonical.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "test_kconf_update.h"
+
+#include <memory>
+
+// Qt
+#include <QDir>
+#include <QFile>
+#include <QProcess>
+#include <qglobal.h>
+#include <qstandardpaths.h>
+#include <qtemporaryfile.h>
+#include <qtest.h>
+#include <qtestcase.h>
+
+QTEST_GUILESS_MAIN(TestKConfUpdate)
+
+void TestKConfUpdate::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+
+    // Ensure it all works with spaces in paths (as happens more commonly on OSX where it's ~/Library/Application Support/)
+    qputenv("XDG_DATA_HOME", "/tmp/a b");
+}
+
+static void writeFile(const QString &path, const QString &content)
+{
+    QFile file(path);
+    if (!file.open(QIODevice::WriteOnly)) {
+        qFatal("Could not write to '%s'", qPrintable(path));
+    }
+    file.write(content.toUtf8());
+}
+
+static QString readFile(const QString &path)
+{
+    QFile file(path);
+    if (!file.open(QIODevice::ReadOnly)) {
+        qFatal("Could not read '%s'", qPrintable(path));
+    }
+    QString ret = QString::fromUtf8(file.readAll());
+#ifdef Q_OS_WIN
+    // KConfig always writes files with the native line ending, the test comparison uses \n
+    ret.replace(QLatin1String{"\r\n"}, QLatin1String{"\n"});
+#endif
+    return ret;
+}
+
+static std::unique_ptr<QTemporaryFile> writeUpdFile(const QString &content)
+{
+    std::unique_ptr<QTemporaryFile> file{new QTemporaryFile(QDir::tempPath() + QLatin1String("/test_kconf_update_XXXXXX.upd"))};
+    bool ok = file->open();
+    Q_UNUSED(ok) // silence warnings
+    Q_ASSERT(ok);
+    file->write(content.toUtf8());
+    file->flush();
+    return file;
+}
+
+static void runKConfUpdate(const QString &updPath, const QString &expectedKConfOutputString)
+{
+    const QString kconfUpdateExecutable = QFINDTESTDATA("kconf_update");
+    QVERIFY(QFile::exists(kconfUpdateExecutable));
+    QProcess p;
+    p.start(kconfUpdateExecutable, QStringList{QStringLiteral("--testmode"), QStringLiteral("--debug"), updPath});
+    QVERIFY(p.waitForFinished());
+    QCOMPARE(p.exitCode(), 0);
+    if (!expectedKConfOutputString.isEmpty()) {
+        const QString out = QString::fromLocal8Bit(p.readAllStandardError());
+        QVERIFY2(out.contains(expectedKConfOutputString),
+                 qPrintable(QLatin1String("The string \"%1\" was not contained in putput \"%2\"").arg(expectedKConfOutputString, out)));
+    }
+}
+
+void TestKConfUpdate::testScript_data()
+{
+    QTest::addColumn<QString>("updContent");
+    QTest::addColumn<QString>("updScript");
+    QTest::addColumn<QString>("oldConfContent");
+    QTest::addColumn<QString>("expectedNewConfContent");
+    QTest::addColumn<QString>("expectedKConfOutputString");
+
+#ifdef Q_OS_FREEBSD
+    // https://stackoverflow.com/a/69955786
+    const QString sedCommand = QStringLiteral("sed -i '' ");
+#else
+    const QString sedCommand = QStringLiteral("sed -i ");
+#endif
+    const QString updVersionIdPrefix = QLatin1String("Version=6\nId=%1\n").arg(QLatin1String{QTest::currentDataTag()});
+    const QString confPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/testrc"};
+    const QString scriptContent = sedCommand + QLatin1String("'s/firstVal=abc/firstVal=xyz/' %1").arg(confPath);
+
+    QTest::newRow("should reject script due to version missmatch")
+        << QStringLiteral("Version=5\nId=12345") << scriptContent << QString() << QString() << QStringLiteral("defined Version=5 but Version=6 was expected");
+
+    const QString updContent = updVersionIdPrefix + QLatin1String("Script=test.sh,sh\n");
+    const QString configIn = QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=xyz\n");
+    const QString configOut = QStringLiteral("[grp]\nfirstVal=xyz\nsecondVal=xyz\n");
+
+    QTest::newRow("should run command and modify file") << updContent << scriptContent << configIn << configOut << QString();
+
+    const QString argScriptContent = sedCommand + QLatin1String("\"s/secondVal=$1/secondVal=abc/\" %1").arg(confPath);
+    QTest::newRow("should run command with argument and modify file") << QStringLiteral("ScriptArguments=xyz\n") + updContent << argScriptContent << configIn
+                                                                      << QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=abc\n") << QString();
+
+    QTest::newRow("should run command with arguments and modify file")
+        << QStringLiteral("ScriptArguments=xyz abc\n") + updContent << sedCommand + QLatin1String("\"s/secondVal=$1/secondVal=$2/\" %1").arg(confPath)
+        << configIn << QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=abc\n") << QString();
+}
+
+void TestKConfUpdate::testScript()
+{
+    if (QStandardPaths::findExecutable(QStringLiteral("sh")).isEmpty()) {
+        QSKIP("Could not find sh executable, cannot run test");
+        return;
+    }
+
+    QFETCH(QString, updContent);
+    QFETCH(QString, updScript);
+    QFETCH(QString, oldConfContent);
+    QFETCH(QString, expectedNewConfContent);
+    QFETCH(QString, expectedKConfOutputString);
+
+    std::unique_ptr<QTemporaryFile> updFile(writeUpdFile(updContent));
+
+    const QString scriptDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String{"/kconf_update"};
+    QVERIFY(QDir().mkpath(scriptDir));
+    const QString scriptPath = scriptDir + QLatin1String{"/test.sh"};
+    writeFile(scriptPath, updScript);
+    QCOMPARE(readFile(scriptPath), updScript);
+
+    const QString confPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/testrc"};
+    writeFile(confPath, oldConfContent);
+    QCOMPARE(readFile(confPath), oldConfContent);
+
+    runKConfUpdate(updFile->fileName(), expectedKConfOutputString);
+
+    QCOMPARE(readFile(confPath), expectedNewConfContent);
+}
+
+#include "moc_test_kconf_update.cpp"
diff --git a/autotests/test_kconf_update.h b/autotests/test_kconf_update.h
new file mode 100644 (file)
index 0000000..efd9e57
--- /dev/null
@@ -0,0 +1,21 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2010 Canonical Ltd
+    SPDX-FileContributor: Aurélien Gâteau <aurelien.gateau@canonical.com>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef TEST_KCONF_UPDATE_H
+#define TEST_KCONF_UPDATE_H
+
+#include <QObject>
+
+class TestKConfUpdate : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void initTestCase();
+    void testScript_data();
+    void testScript();
+};
+
+#endif /* TEST_KCONF_UPDATE_H */
diff --git a/docs/DESIGN.kconfig b/docs/DESIGN.kconfig
new file mode 100644 (file)
index 0000000..260bec5
--- /dev/null
@@ -0,0 +1,224 @@
+kconfigdata_p.h contains definitions of the data formats used by kconfig.
+
+Configuration entries are stored as "KEntry". They are indexed with "KEntryKey".
+The primary store is a "KEntryMap" which is defined as a std::map from "KEntryKey"
+to "KEntry"
+
+KEntry's are stored in order in the KEntryMap. The most significant sort 
+criteria is mGroup. This means that all entries who belong in the same group,
+are grouped in the std::map as well.
+
+The start of a group is indicated with a KEntryKey with an empty mKey and a 
+dummy KEntry. This allows us to search for the start of the group and then to 
+iterate until we end up in another group. That way we will find all entries
+of a certain group.
+
+Entries that are localised with the _current_ locale are stored with bLocal 
+set to true. Entries that are localised with another locale are either not
+stored at all (default), or with the localization as part of the key (when
+reading a file in order to merge it). 
+[WABA: Does it make sense to keep both localized and non-localised around?
+Can't we just let the localised version override the non-localised version?]
+
+Currently the localization bit is the least significant sort criteria, that 
+means that the localised version always follows the non-localised version
+immediately.
+
+<Changed for KDE 3.0>
+Entries that are being read from a location other than the location to
+which is written back are marked as "default" and will be added both as
+normal entry as well as an entry with the key marked as default.
+
+When entries are written to disk, it is checked whether the entry to write 
+is equal to the default, if so the entry will not be written. The default
+entry always follows directly after the normal entry, due to the sorting.
+(After that the localised version follows)
+
+When entries are written to disk, it is checked whether the entry to write 
+is equal to the default, if so the entry will not be written.
+</Changed>
+
+Open question:
+Should unmodified entries that are written back be compared with the default
+too? This seems to be mostly a transition issue.
+
+<Changed during KDE 3.0 / 3.2>
+Extra functions:
+
+bool isEntryImmutable(key); // Can entry be modified?
+bool hasDefault(key); // Is there a system wide default set for the entry?
+void revertToDefault(key); // Restore to default
+void deleteEntry(key); // Remove entry
+
+Note that there is a subtle difference between revertToDefault() and deleteEntry().
+revertToDefault() will change the entry to the default value set by the system 
+administrator (Via e.g. $KDEDIR/share/config) or, if no such default was set,
+non-existent.
+deleteEntry() will make the entry non-existent.
+
+Entries are marked "immutable" if the key is followed by [$i]. This means
+that a user can not override these entries.
+
+Entries can be marked as deleted if they are followed by [$d]. This
+is needed if the system administrator has specified a default value but the
+entry was deleted (made 'non-existant'). In that case we can't just leave 
+the entry out since that would mean we get the default from the system 
+administrator back the next time we read the file.
+</changed>
+
+When an entry is read with readEntry(key, defaultValue), non-existing
+entries will return "defaultValue" while hasKey(key) will return "false"
+for such entries.
+
+Currently all entries are stored in memory. When KConfig is "sync()'ed"
+it reads the file that it is about to overwrite (for the second time), it 
+then merges in the entries it has in memory and writes the result back to 
+the file. It does NOT update its map of entries in memory with the entries
+(re)read from disk. It only updates the entries in memory when 
+"reparseConfiguration()" is called.
+
+
+Open Question: The standard writeEntry() function returns the original value,
+is this needed? Nobody seems to use it. 
+
+Open Question: The bPersistent flag doesn't seem to be used... could it be removed?
+
+Open Question: Is the bNLS flag needed? Localised entries seem to be mostly
+useful for default files, are they ever created by the user itself?
+
+Open Question: Would it be worthwhile to lock a user option that is equal to the 
+default so that it doesn't change when the default changes?
+
+
+KDE3.0 Changes
+==============
+
+*) writeEntry now returns void instead of QString.
+*) deleteEntry functions added
+
+
+------------------------------------------------------------------------------
+
+KConfig XT
+==========
+
+My buzzword picker offered KConfig XT ("eXtended Technology") and KConfig NG 
+("Next Generation").  Since the planned changes are meant to be evolutionary 
+rather than revolutionary, KConfig NG was dropped.
+
+Goals
+=====
+
+* Have the default value for config entries defined in 1 place. Currently it is
+not uncommon to have them defined in three places:
+  1) In the application that reads the setting in order to use it
+  2) In the settings dialog when reading the setting
+  3) In the settings dialog when selecting "Use defaults".
+
+* Provide type-information about config entries to facilitate "KConfEdit" like 
+tools. Ideally type-information also includes range-information; this is even
+mandatory if enums become an explicit type.
+
+* Facilitate the documentation of config entries.
+
+
+Instead of relying on the defaults that are hard-coded in the application, 
+rely on default configuration files being installed in $KDEDIR. The technical
+changes required for this are very minimal, it is mostly a change in policy.
+
+Type information can be provide by preceding every entry with a formalized 
+comment.
+
+Work to be done:
+* KConfig needs to be extended to provide access to the default values provided 
+by the default config files. KConfig already stores this information internally.
+(DONE)
+* A formal comment structure needs to be designed that can convey type-information.
+Preferably in such a way that it is easily parsable by both machine and user.
+* KConfig needs to be extended, or another class created, that is able to parse
+the formalized comments.
+* A tool needs to be developed that can assist developers with the generation
+and verification of default configuration files including type-information.
+
+Drawbacks:
+* We rely on default configuration files being properly installed. 
+* The user can break applications by making improper modifications to these 
+files.
+* It is not possible to store defaults settings in a config file that are 
+of a dynamic nature. Examples are settings derived from other settings, 
+e.g. a color setting could be derived from the current color theme, or
+e.g. the default high score user name which is determined by the user
+currently logged in.
+
+
+Some random ideas:
+* The format of the entries would be something like this:
+
+[Mail Settings]
+#!Type=string
+#!Description=SMTP server to use for sending mail
+#!Description[nl]=SMTP server voor het versturen van mail
+Host=wantelbos.zogje.fr
+
+- the type could be subclassed more, e.g. strings can be "email", "hostname",
+  "url", etc.
+
+- having translations in these files is very arguable. external po's would be
+  better.
+
+
+
+Class overview
+
+                       KConfigBase
+                            |
+                            v
+ KConfigBackend  <-----> KConfig <------> KConfigSkeleton           /--< myapp.kcfg
+       |                    |                    |                 /
+       v                    v                    |*---------------<
+KConfigINIBackend      KSimpleConfig             |kconfig_compiler \
+                                                 |                  \--< myconfig.kcfg-codegen
+                                                 v                                                    
+                                             MyConfig <-----KConfigDialogManager----> MyConfigWidget *---< myconfigwidget.ui
+                                                                                                      uic
+
+KConfigBase: defines API for generic config class
+
+KConfig: functional generic config class that supports merging of cascaded
+         configuration files
+
+KSimpleConfig: functional generic config class without support for cascading
+               configuration files.
+
+KConfigBackend: defines API for config backend, t.i. the actual handling
+                of the storage method and storage format.
+
+KConfigINIBackend: the standard (and only one so far) class that implements
+                   the config backend using the file-based .INI format
+                   for configuration files
+
+KConfigSkeleton: base class for deriving classes that store application
+                 specific options providing type-safety and single-point
+                 defaults.
+
+MyConfig: An application specific class that offers configuration options
+          to the applications via variables or accessor functions and that
+          handles type-safety and defaults. MyConfig is just an example
+          name, the application developer choses the actual name.
+
+myapp.kcfg: File describing the configuration options used by a specific
+            application. myapp.kcfg is just an example name, the application
+            developer choses the actual name.
+
+myconfig.kcfg-codegen: Implementation specific code generation instructions
+                       for the MyConfig class. myconfig.kcfg-codegen is
+                       just an example name, the application developer
+                       choses the actual name.
+
+KConfigDialogManager: Class that links widgets in a dialog up with their
+                      corresponding configuration options in a configuration
+                      object derived from KConfigSkeleton.
+
+MyConfigWidget: Dialog generated from a .ui description file. Widget names
+                in the dialog that start with "kcfg_" refer to configuration
+                options.
diff --git a/docs/Doxyfile.local b/docs/Doxyfile.local
new file mode 100644 (file)
index 0000000..37895c7
--- /dev/null
@@ -0,0 +1,16 @@
+### KApiDox Project-specific Overrides File
+
+# define so that deprecated API is not skipped
+PREDEFINED += \
+    "KCONFIGCORE_ENABLE_DEPRECATED_SINCE(x, y)=1" \
+    "KCONFIGCORE_BUILD_DEPRECATED_SINCE(x, y)=1" \
+    "KCONFIGCORE_DEPRECATED_VERSION(x, y, t)=" \
+    "KCONFIGCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+    "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION(x, y, t)=" \
+    "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+    "KCONFIGGUI_ENABLE_DEPRECATED_SINCE(x, y)=1" \
+    "KCONFIGGUI_BUILD_DEPRECATED_SINCE(x, y)=1" \
+    "KCONFIGGUI_DEPRECATED_VERSION(x, y, t)=" \
+    "KCONFIGGUI_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+    "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION(x, y, t)=" \
+    "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)="
diff --git a/docs/options.md b/docs/options.md
new file mode 100644 (file)
index 0000000..b57713d
--- /dev/null
@@ -0,0 +1,96 @@
+KConfig Entry Options            {#options}
+=====================
+
+KConfig provides various options that can alter how it interprets configuration
+entries on a per-entry, per-group or per-file basis.  Note that these are not
+supported by other configuration frameworks, and so should not be used in files
+that are intended to be used by applications that do not use KConfig (such as
+application desktop files).
+
+
+Immutable Entries
+-----------------
+
+KConfig's cascading configuration mechanism usually causes values from earlier,
+"global" configuration files to be overridden by later, "local" ones.
+Typically, the system administrator might set global defaults, and a user might
+override them in their local configuration files.
+
+However, KConfig provides a way to lock down configuration values, so that the
+global settings override the local ones.  This allows system administrators to
+restrict the values a user can set for an entry, group of entries or an entire
+configuration file.
+
+This is important for Kiosk authorization (see the KAuthorized namespace),
+which allows parts of the user interface to be locked down.
+
+Configuration entries can be marked as immutable with the `$i` option.  This can
+be done on a per-entry basis:
+
+    [MyGroup]
+    someKey[$i]=42
+
+on a per-group basis (which will prevent any attempts to modify entries in the
+group at all in later files):
+
+    [MyGroup][$i]
+    someKey=42
+
+or for an entire file by putting `[$i]` at the start of the file:
+
+    [$i]
+    [MyGroup]
+    someKey=42
+    [MyOtherGroup]
+    someOtherKey=11
+
+Once this is done, the immutable entries or groups cannot be overridden by later
+files of the same name (and, if the file is immutable, later files will be
+ignored entirely).
+
+Note that a similar effect to file immutability can be achieved by using file
+system permissions to prevent the user from writing to their local versions of
+the configuration file, although (since this is normally a setup error), the
+user will be warned that the configuration file is not writable.  This warning
+can be suppressed by adding the following setting to either the relevant
+configuration file or the `kdeglobals` file:
+
+    [General]
+    warn_unwritable_config=true
+
+However, using file system permissions like this can potentially be circumvented
+by the user if they have write access to the containing directory or can modify
+environment variables (and `XDG_CONFIG_HOME` in particular).
+
+
+
+Shell Expansion
+---------------
+
+If an entry is marked with `$e`, environment variables will be expanded.
+
+    Name[$e]=$USER
+
+When the "Name" entry is read `$USER` will be replaced with the value of the
+`$USER` environment variable.
+
+Note that the application will replace `$USER` with its
+expanded value after saving. To prevent this combine the `$e` option
+with `$i` (immmutable) option.  For example:
+
+    Name[$ei]=$USER
+
+This will make that the "Name" entry will always return the value of the `$USER`
+environment variable. The user will not be able to change this entry.
+
+The following syntax for environment variables is also supported:
+
+    Name[$ei]=${USER}
+
+There are three environment variables that have a fallback strategy if the
+environment variable is not set. They instead map to a location from QStandardPaths.
+They are:
+
+* `$QT_CACHE_HOME` - QStandardPaths::GenericCacheLocation
+* `$QT_CONFIG_HOME` - QStandardPaths::GenericConfigLocation
+* `$QT_DATA_HOME` - QStandardPaths::GenericDataLocation
diff --git a/metainfo.yaml b/metainfo.yaml
new file mode 100644 (file)
index 0000000..876209f
--- /dev/null
@@ -0,0 +1,20 @@
+description: Configuration system
+tier: 1
+type: functional
+platforms:
+    - name: Linux
+    - name: FreeBSD
+    - name: Windows
+    - name: macOS
+    - name: Android
+portingAid: false
+deprecated: false
+release: true
+libraries:
+ - cmake: "KF6::ConfigCore"
+ - cmake: "KF6::ConfigGui"
+cmakename: KF6Config
+
+public_lib: true
+group: Frameworks
+subgroup: Tier 1
diff --git a/poqm/af/kconfig6_qt.po b/poqm/af/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..0184062
--- /dev/null
@@ -0,0 +1,1081 @@
+# UTF-8 test:äëïöü
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Juanita Franz <juanita.franz@vr-web.de>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig stable\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-06-08 01:39+0200\n"
+"Last-Translator: Juanita Franz <juanita.franz@vr-web.de>\n"
+"Language-Team: AFRIKAANS <translate-discuss-af@lists.sourceforge.net>\n"
+"Language: af\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Gebruik <lêer> in plaas van globale konfigurasie"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Sleutel om voor te kyk"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipe van veranderlike. Gebruik\"bool\" vir boolean, anders word behandel as "
+"'n string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Die waarde om te skryf. Verpligtend, op 'n tolk gebruik '' vir leeg"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KSkryfKonfigurasie"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skryf KKonfigurasie inskrywings - vir gebruik in tolk skripte"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Juanita Franz"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "juanita.franz@vr-web.de"
diff --git a/poqm/ar/kconfig6_qt.po b/poqm/ar/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..533fc7b
--- /dev/null
@@ -0,0 +1,1075 @@
+# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
+# Safa Alfulaij <safa1996alfulaij@gmail.com>, 2014, 2017, 2018.
+# Zayed Al-Saidi <zayed.alsaidi@gmail.com>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-28 15:38+0300\n"
+"PO-Revision-Date: 2024-11-28 13:47+0400\n"
+"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
+"Language-Team: ar\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "رجاءً راسل مدير النظام."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "لا يمكن الكتابة في ملف الضبط ”%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "المبدئي"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&عُد"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "ت&قدّم"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "ال&منزل"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&جديد"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "أنشئ مستندًا جديدًا"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "ا&فتح…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "افتح مستندًا موجودًا"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "افتح ملفاً &حديثًا"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "افتح مستندًا كان مفتوحًا حديثًا"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "ا&حفظ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "احفظ المستند"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "احفظ &كَ‍…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "احفظ المستند باسم آخر"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "ا&عكس"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "اعكس التغييرات غير المحفوظة المجراة على المستند"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "أ&غلق"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "أغلق المستند"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ا&طبع…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "اطبع المستند"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&عاين الطباعة"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "اعرض معاينة للمستند مطبوعًا"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "أبرِ&د…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "أرسل المستند بالبريد"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "أ&نهِ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "أنهِ التطبيق"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ت&راجع"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "تراجع عن آخر إجراء"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "أ&عِد"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "أعد آخر إجراء تراجعت عنه"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "ق&صّ"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "قصّ التحديد إلى الحافظة"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ا&نسخ"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "انسخ التحديد إلى الحافظة"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "أل&صق"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "ألصق محتوى الحافظة"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "ام&سح"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "حدّد ال&كل"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "أ&زل التحديد"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ابح&ث…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "ابحث عن ال&تالي"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "ابحث عن ال&سابق"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ا&ستبدل…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&كبر للحجم الفعلي"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "اعرض المستند بمقاسه الأصلي"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "لا&ئم إلى الصفحة"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "غيّر التقريب لملاءمة الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "لائم إلى &عرض الصفحة"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "غيّر التقريب لملاءمة عرض الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "لائم إلى ارت&فاع الصفحة"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "غيّر التقريب لملاءمة ارتفاع الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&قرّب"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ب&عّد"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "الت&قريب…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "اختر مستوى التقريب"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "أن&عِش"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "أنعش المستند"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "لأ&على"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "انتقل لأعلى"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "الصفحة ال&سابقة"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "انتقل إلى الصفحة السابقة"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "الصفحة ال&تالية"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "انتقل إلى الصفحة التالية"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "ا&نتقل إلى…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "ا&نتقل إلى صفحة…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "ا&نتقل إلى سطر…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "الصفحة الأ&ولى"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "انتقل إلى الصفحة الأولى"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "الصفحة الأ&خيرة"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "انتقل إلى الصفحة الأخيرة"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&عُد"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "عُد وراءً في المستند"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ت&قدّم"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "تقدّم أمامًا في المستند"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "أ&ضف علامة"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&حرّر العلامات…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "الإ&ملاء…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "دقّق الإملاء في المستند"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "اعرض شريط ال&قوائم"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "اعرض/أخفِ شريط القوائم"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "اعرض شريط الأ&دوات"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "اعرض/أخفِ شريط الأدوات"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "اعرض شريط ال&حالة"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "اعرض/أخف شريط الحالة"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "وضع ملء ال&شاشة"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "اضبط ا&ختصارات لوحة المفاتيح..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ا&ضبط %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "اضبط أشرطة الأ&دوات…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "اضبط الإ&خطارات…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "ك&تيّب %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ما &هذا؟"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "أ&بلغ عن علّة…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "اضبط الل&غة..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&عن %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "عن &كِيدِي"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "ا&حذف"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&غيّر الاسم…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ا&نقل إلى المهملات"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "تبرّ&ع"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "افتح &قائمة"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "افتح"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "جديد"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "أغلق"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "احفظ"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "اطبع"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "أنهِ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "تراجع"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "أعِد"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "قصّ"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "انسخ"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ألصق"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ألصق التحديد"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "حدّد الكل"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "أزل التحديد"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "احذف الكلمة السابقة"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "احذف الكلمة التالية"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ابحث"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "ابحث عن التالي"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "ابحث عن السابق"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "استبدل"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "المنزل"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "البداية"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "النهاية"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "السابق"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "التالي"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "لأعلى"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "عُد"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "تقدّم"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "أعد التحميل"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "بداية السطر"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "نهاية السطر"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "انتقل إلى سطر"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "الكلمة السابقة"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "الكلمة التالية"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "أضف علامة"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "قرّب"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "بعّد"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "وضع ملء الشاشة"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "اعرض شريط القوائم"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "فعّل اللسان التالي"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "فعّل اللسان السابق"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "مساعدة"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ما هذا"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "إكمال النص"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "مطابقة الإكمال السابقة"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "مطابقة الإكمال التالية"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "إكمال نص فرعي"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "العنصر السابق في القائمة"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "العنصر التالي في القائمة"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "افتح ملفاً حديثًا"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "احفظ باسم"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "اعكس"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "عاين الطباعة"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "أبرِد"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "امسح"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "كبر للحجم الفعلي"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "لائم إلى الصفحة"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "لائم إلى العرض"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "لائم إلى الارتفاع"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "التقريب"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "انتقل إلى"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "انتقل إلى صفحة"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "عُد في المستند"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "تقدّم في المستند"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "حرّر العلامات"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "الإملاء"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "اعرض شريط الأدوات"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "اعرض شريط الحالة"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "ارتباطات المفاتيح"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "اضبط التطبيق"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "اضبط أشرطة الأدوات"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "اضبط الإخطارات"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "أبلغ عن علّة"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "اضبط اللغة…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "عن التطبيق"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "عن كِيدِي"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "احذف"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "غيّر الاسم"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "انقل إلى المهملات"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "تبرّع"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "أظهر/أخف الملفات المخفية"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "أنشئ مجلّدًا"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "افتح في القائمة الرئيسة"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "افتح قائمة السياق"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "أداة «كِيدِي» لتحديث ملفات ضبط المستخدم"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "أبقِ نتائج الخرج من السكربتات"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"بالنسبة لاختبارات الوحدة فقط: لا تكتب الإدخالات المنجزة، بحيث يتم تنفيذ "
+"البرامج النصية مرة أخرى مع كل إعادة تشغيل"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "التمس فيما إذا كان ملف الضبط نفسه يحتاج تحديثًا"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "الملف/الملفات التي ستُقرأ منها إرشادات التحديث"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "الدليل الذي سيُولّد فيه الملفات [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "دليل"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "اعرض رخصة البرمجية."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "استخدم <file> بدل الضبط العمومي"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"المجموعة للبحث فيها. استخدم \"<default>\" لمجموعة الجذر، أو استخدمها أكثر من "
+"مرة للمجموعات المتداخلة."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "المفتاح الذي سيُبحث عنها"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "القيمة المبدئية"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "نوع المتغيّر"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "اسم المجموعة لا يمكن أن يكون فارغ، استخدم \"<default>\" لمجموعة الجذر"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"نوع المتغيّر. استخدم ”bool“ للقيم المنطقية، وإلا فستتعامل معه البرمجية كسلسلة"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "احذف المفتاح المعين إذا كان ممكن"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "القيمة التي ستُكتب. هذه إلزامية وإلا استُخدمت ”“ باعتبارها (لا شيء)"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "فائدة اليوم"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "لاختبارات الوحدات فحسب: استخدم الأدلّة الاختبارية لألا تعطب ملفات المستخدم "
+#~ "الحقيقية"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "خيارات الحفظ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "بدّل لغة التطبيق"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "التّفضيلات"
diff --git a/poqm/ast/kconfig6_qt.po b/poqm/ast/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..d8f8d39
--- /dev/null
@@ -0,0 +1,1045 @@
+# SPDX-FileCopyrightText: 2023 Enol P. <enolp@softastur.org>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2023-11-07 21:26+0100\n"
+"Last-Translator: Enol P. <enolp@softastur.org>\n"
+"Language-Team: \n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 23.08.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "El ficheru de configuración «%1» nun ye d'escritura.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Conseyu del día"
diff --git a/poqm/az/kconfig6_qt.po b/poqm/az/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..9a22c4c
--- /dev/null
@@ -0,0 +1,1262 @@
+# Xəyyam <xxmn77@gmail.com>, 2020, 2021, 2022, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2023-02-17 01:22+0400\n"
+"Last-Translator: Kheyyam <xxmn77@gmail.com>\n"
+"Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 22.12.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Sistem inzibatçınız ilə əlaqə saxlayın."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "%1 Konfiqurasiya faylı yazılmır.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Susmaya görə"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Geriyə"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "İrəli"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Ev"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Aç"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Saxla"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Fərqli Saxla"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Bərpa Et"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Bağla"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Çap et"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Çapa Önbaxış"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-Poçtla Göndər"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Çıx"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Tətbiq haqqında"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Geriyə al"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Yerləşdir"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Təmizlə"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Seçimi ləğv et"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Tap"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Sonrakını Tap"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Əvvəlkini Tap"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Əvəzlə"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Həqiqi ölçüsünə miqyaslayın"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Eninə Sığışdır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Hündürlüyə Sığışdır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Böyüt"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Kiçilt"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Böyütmə"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Yuxarı"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Geriyə"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "İrəli"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Əlfəcin əlavə et"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Əlfəcinə düzəliş et"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Orfoqrafiyanı Yoxla"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Tam Ekran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Alətlər Çubuğunu Ayarla"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Bildirişləri Ayarla"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Bu nədir"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Xətaları Göndər"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE haqqında"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE haqqında"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Sil"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Adını Dəyiş"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Səbət At"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Maddi Dəstək"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aç"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Yeni"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Bağla"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Saxla"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Çap et"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Çıx"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Geriyə al"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Təkrar et"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kəs"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Yerləşdir"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seçiləni Yerləşdir"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Seçimi ləğv et"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Öncəki Sözü Sil"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Sonrakı Sözü Sil"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Tap"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sonrakını Tap"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Əvvəlkini Tap"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Əvəzlə"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Ev"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Başla"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Son"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Əvvəlki"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sonrakı"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Yuxarı"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Geriyə"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "İrəli"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Yenidən Aç"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Sətir Başla"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sətiri Bitir"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Bir Söz Geri"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Bir Soz İrəli"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Əlfəcin əlavə et"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Böyüt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Kiçilt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tam Ekran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Növbəti Çubuğu Aktivləşdir"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Əvvəlki Çubuğu Aktivləşdir"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Kömək"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Bu nədir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Mətin Tamamlama"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Əvvəlki Tamamlama Variantı"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sonrakı Tamamlama Variantı"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Sətiraltı Tamamlama"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Siyahıdakı Əvvəlki Element"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Siyahıdakı sonrakı Element"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Fərqli Saxla"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Bərpa Et"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Çapa Önbaxış"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-Poçtla Göndər"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Təmizlə"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Həqiqi ölçüsünə miqyaslayın"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Eninə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Hündürlüyə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Böyütmə"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Keç"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Geri"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "İrəli"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Əlfəcinə düzəliş et"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Orfoqrafiyanı Yoxla"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klaviş Kombinasiyaları"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Tətbiqi Ayarla"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Alətlər Çubuğunu Ayarla"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bildirişləri Ayarla"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Xətaları Göndər"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tətbiq haqqında"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE haqqında"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Sil"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Adını Dəyiş"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Səbət At"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Maddi Dəstək"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Gizli faylları gizlət/göstər"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Qovluq yaratmaq"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "İstifadəçi konfiqurasiya fayllarını yeniləmək üçün KDE Vasitələri"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "İşlək seansların çıxarış nəticələrini saxla"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Konfiqurasiya faylının yenilənmə tələb edib etməməsini yoxla"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Yenilənmə təlimatlarını oxumaq üçün fayllar"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Faylları yaratmaq üçün qovluq [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "qovluq"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tətbiq lisenziyalarını göstər"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Qlobal konfiqurasiya əvəzinə <file> istifadə et"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Daxilində axtarış ediləcək qrup. Kök qrup üçün \"<default>\" istifadə edin "
+"və ya iç-içə qruplar üçün təkrar istifadə edin."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Axtarılacaq açar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Susmaya görə ölçü"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Dəyişkən növ"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Qrup adı boş ola bilməz, kök qrupu üçün \"<default>\" istifadə edin"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Dəyişkən növ. Məntiqi dəyişkələr üçün \"bool\" istifadə et, əks halda "
+"dəyişkən sətir kimi qəbul ediləcək"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Aktiv edildikdə təyin olunmuş açarı silin"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Yazı üçün göstərici. Mütləq göstərilir, üzlükdə böşluq üçün \" istifadə edin"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Günün Məsləhəti"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Yalnız vahid testlər üçün: Test qovluqlarını həqiqi isitifadəçı "
+#~ "fayllarında ayrı yerləşdir"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Seçimi Saxla"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Tətbiqin Dilini Dəyiş"
diff --git a/poqm/be/kconfig6_qt.po b/poqm/be/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..f57a1db
--- /dev/null
@@ -0,0 +1,1104 @@
+# Darafei Praliaskouski <symbol@akeeri.tk>, 2006.
+# Darafei Praliaskouski <komzpa@licei2.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-25 23:51\n"
+"Last-Translator: Darafei Praliaskouski <komzpa@licei2.com>\n"
+"Language-Team: Belarusian\n"
+"Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
+"%100>=11 && n%100<=14 ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n"
+"X-Crowdin-Project-ID: 136\n"
+"X-Crowdin-Language: be\n"
+"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/kconfig/kconfig6_qt."
+"po\n"
+"X-Crowdin-File-ID: 9944\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Звярніцеся да сістэмнага адміністратара."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файл канфігурацыі \"%1\" недаступны для запісу.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Прадвызначана"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Д&алей"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Хатняя старонка"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Стварыць"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Стварыць новы дакумент"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Адкрыць…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Адкрыць існы дакумент"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Адкрыць &нядаўні файл"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Адкрыць дакумент, які нядаўна адкрываўся"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Захаваць"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Захаваць дакумент"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Захаваць &як…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Захаваць дакумент пад новай назвай"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Вярнуць"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Вярнуць незахаваныя змены, унесеныя ў дакумент"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "За&крыць"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрыць дакумент"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Друкаванне…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Друкаваць дакумент"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Папярэдні п&рагляд друку"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Вывесці папярэдні прагляд дакумента для друкавання"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Пошта…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Адправіць дакумент па электроннай пошце"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Выйсці"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Выйсці з праграмы"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Адрабіць"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Адрабіць апошняе дзеянне"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Па&ўтарыць"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Паўтарыць апошняе дзеянне"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Выразаць"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Выразаць абранае ў буфер абмену"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Скапіяваць"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Скапіяваць абранае ў буфер абмену"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Уставіць"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Уставіць змесціва з буфера абмену"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "А&чысціць"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Абраць &усё"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Адкінуць выбар"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Пошук…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Шукаць &наступнае"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Шукаць &папярэдняе"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Замяніць…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Маштабаваць да &сапраўднага памеру"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Паказаць дакумент у яго сапраўдным памеры"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Па &памеры старонкі"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Маштабаваць па памеры акна"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Па &шырыні старонкі"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Маштабаваць па шырыні акна"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Па &вышыні старонкі"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Маштабаваць па вышыні акна"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Павялічыць"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Паменшыць"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Маштабаванне…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Абраць узровень павелічэння"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Абнавіць"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Абнавіць дакумент"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Уверх"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перайсці вышэй"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Папярэдняя старонка"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перайсці да папярэдняй старонкі"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Наступная старонка"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перайсці да наступнай старонкі"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Перайсці да…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Перайсці да старонкі…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Перайсці да радка…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Першая старонка"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перайсці да першай старонкі"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Апошняя старонка"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перайсці да апошняй старонкі"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перайсці назад у дакуменце"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Д&алей"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перайсці наперад ў дакуменце"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Дадаць закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Рэдагаваць закладкі…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Правапіс…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Праверыць правапіс у дакуменце"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Паказваць &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Паказаць або схаваць панэль меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Паказваць &панэль інструментаў"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Паказаць або схаваць панэль інструментаў"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Паказваць панэль ст&ану"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Паказаць або схаваць панэль стану"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Поўнаэкранны рэжым"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Наладжванне &спалучэнняў клавіш…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Наладжванне %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Наладжванне панэлі &інструментаў…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Наладжванне &апавяшчэнняў…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Даведнік па \"%1\""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Што &гэта?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Паведаміць пра хібу…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Наладжванне &мовы…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Пра \"%1\""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Пра &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Выдаліць"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Змяніць назву…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Перамясціць у сметніцу"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Ахвяраваць"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Адкрыць &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Адкрыць"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Новы"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрыць"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Захаваць"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Друкаваць"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Выйсці"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Адрабіць"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Паўтарыць"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Выразаць"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Капіяваць"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Уставіць"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Уставіць абранае"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Абраць усё"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Адкінуць выбар"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Выдаліць папярэдняе слова"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Выдаліць наступнае слова"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Знайсці"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Шукаць наступнае"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Шукаць папярэдняе"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замяніць"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Хатняя старонка"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "У пачатак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "У канец"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Папярэдняе"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далей"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Уверх"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Наперад"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Перазагрузіць"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Пачатак радка"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Канец радка"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перайсці да радка"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Папярэдняе слова"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Наступнае слова"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Дадаць закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Наблізіць"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Аддаліць"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Поўнаэкранны рэжым"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Паказваць панэль меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Актываваць наступную ўкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Актываваць папярэднюю ўкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Даведка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Што гэта"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Запаўненне тэксту"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Папярэдняе супадзенне для запаўнення"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Наступнае супадзенне для запаўнення"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Запаўненне радкоў"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Папярэдні элемент у спісе"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Наступны элемент у спісе"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Адкрыць нядаўнія"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Захаваць як"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Інвертаваць"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Папярэдні прагляд для друку"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Ачысціць"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Маштабаваць да сапраўднага памеру"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Па памеры старонкі"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Па шырыні"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Па вышыні"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Маштаб"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перайсці"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перайсці да старонкі"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Папярэдні дакумент"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Наступны дакумент"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Рэдагаваць закладкі"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правапіс"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Паказваць панэль інструментаў"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Паказваць панэль стану"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Прывязванне клавіш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Наладжванне праграмы"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Наладжванне панэляў інструментаў"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Наладжванне апавяшчэнняў"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Паведаміць пра хібу"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Наладжванне мовы…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Пра праграму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Пра KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Выдаліць"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Змяніць назву"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Перамясціць у сметніцу"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ахвяраваць"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Паказаць/Схаваць схаваныя файлы"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Стварыць каталог"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Адкрыць галоўнае меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Адкрыць кантэкстнае меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Інструмент KDE для абнаўлення карыстальніцкіх файлаў канфігурацыі"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Пакідаць вынікі вываду са скрыптоў"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Толькі для модульных тэстаў: не запісваць завершаныя запісы, каб пры кожным "
+"паўторным запуску скрыпты выконваліся зноў"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Праверце, ці трэба абнавіць сам файл канфігурацыі"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл(ы), з якога трэба чытаць інструкцыі па абнаўленні"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог для стварэння файлаў у [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Паказаць ліцэнзіі праграмнага забеспячэння."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Выкарыстоўваць <file> замест глабальнай канфігурацыі"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група для прагляду. Выкарыстоўваць \"<default>\" для каранёвай групы або "
+"паўторна для ўкладзеных груп."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ для пошуку"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Прадвызначанае значэнне"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тып зменнай"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Назва групы не можа быць пустой, для каранёвай групы выкарыстоўвайце "
+"\"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тып зменнай. Выкарыстоўвайце \"bool\" для лагічнага значэння, інакш яно "
+"будзе разглядацца як радок"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Выдаліць прызначаны ключ, калі ён уключаны"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значэнне, якое трэба ўпісаць. Для пустога ў абалонцы абавязкова "
+"выкарыстоўвайце ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Карысная парада"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Толькі для тэстаў модуляў: выкарыстоўваць тэставыя каталогі, каб не "
+#~ "чапаць рэальныя файлы карыстальніка"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Захаваць параметры"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Запіс KConfig - для выкарыстання ў сцэнарах"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Луі Педро Коэльо"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Напісаў kreadconfig, на якой гэта базіруецца"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Луі Педро Коэльо"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Бернард Розенерэйнцэр"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Дарафей Праляскоўскі"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "symbol@akeeri.tk"
diff --git a/poqm/be@latin/kconfig6_qt.po b/poqm/be@latin/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..9bbec67
--- /dev/null
@@ -0,0 +1,1081 @@
+# translation of kwriteconfig.po to Belarusian Latin
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-29 20:39+0200\n"
+"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
+"Language-Team: Belarusian Latin <i18n@mova.org>\n"
+"Language: be@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
+"%100>=11 && n%100<=14 ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Vykarystaj <file>, a nie hałoŭny fajł naładaŭ"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Hurt, u jakim šukać. Paŭtaraj dla ŭnutranych hurtoŭ."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Patrebny kluč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "Typ vartaści. „bool”: lahičnaja, inačaj tekstavy radok."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vartaść, jakuju treba zapisać. Abaviazkovaja, dla pustoj vartaści ŭ abałoncy "
+"karystajsia znakami „''”."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisvaje źviestki „KConfig” (dla skryptoŭ abałonki)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. i Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr ""
+#~ "Napisaŭ prahramu „kreadconfig”, pakładzienuju ŭ padvaliny hetaj prahramy"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/bg/kconfig6_qt.po b/poqm/bg/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..c24fb3b
--- /dev/null
@@ -0,0 +1,1056 @@
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Zlatko Popov <zlatkopopov@fsa-bg.org>, 2007, 2008.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Mincho Kondarev <mkondarev@yahoo.de>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-11-09 20:04+0100\n"
+"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
+"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Моля, свържете се със системния си администратор."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Конфигурационният файл „%1“ не може да се записва.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "По подразбиране"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "На&зад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Напред"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Начална страница"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Нов"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Създаване на нов документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Отваряне…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Отваряне на съществуващ документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отваряне на скорошни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Отваряне на наскоро отворян документ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Запазване"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Запис на документа"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Запазване &като…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Запазване на документа под ново име"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Връщане"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Връщане на незаписаните промени в документа"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Затваряне"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Затваряне на документа"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Печат…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Отпечатване на документа"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Предпечатен пре&глед"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Показване на предварителен преглед за печат"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Поща…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Изпращане на документа по пощата"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Изход"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Изход от програмата"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Отмяна"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Отмяна на последното действие"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "В&ъзстановяване"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повтаряне на последно отменено действие"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Изрязване"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Изрязване на селекцията в клипборда"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копиране"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копиране на селекцията в клипборда"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Поставяне"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Поставяне съдържанието на клипборда"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Изчистване"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Се&лектиране на всичко"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Размаркиране"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Намиране…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Търсене на следва&щ"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Търсене на преди&шен"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Заместване…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Мащабиране до &действителен размер"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Преглед на документа в действителния му размер"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Мащабиране до &размера на страницата"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Увеличаване до побиране на цялата страница в прозореца"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Мащабиране до &широчината на страницата"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Увеличаване до побиране на ширината на страницата в прозореца"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Мащабиране до &височината на страницата"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Увеличаване до побиране на височината на страницата в прозореца"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "У&величаване на мащаба"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Нама&ляване на мащаба"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Мащабиране…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Избиране на ниво на мащабиране"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Обновяване"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Обновяване на документа"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "На&горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Отиване нагоре"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Преди&шна страница"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Към предишната страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Следва&ща страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Към следващата страница"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Отоване до…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Отиване на страница…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Отиване на &ред…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "П&ърва страница"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Към първата страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "После&дна страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Към последната страница"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "На&зад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Отиване назад в документа"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Напред"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Отиване напред в документа"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Добавяне на отметка"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Редактиране на отметки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Правопис…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Проверка на правописа в документа"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показване на &главното меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показване и скриване на лентата с менюто"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показване на &лентата с инструменти"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показване и скриване на лентата с инструменти"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Показване на лентата за с&ъстоянието"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показване и скриване на лентата за състоянието"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим на &цял екран"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Конфигуриране на &клавишни комбинации…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Конфигуриране на %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Конфигуриране на ленти с инструменти…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Конфигуриране на &известията…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Ръководство за %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Какво е това?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Подаване на сигнал за грешка…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Конфигуриране на &език…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Относно %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Относно &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Из&триване"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Преименуване…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Преместване в кошчето"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Дарение"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отваряне на &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отваряне"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затваряне"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Запазване"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Печат"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Изход"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Отмяна"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторение"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Изрязване"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копиране"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Поставяне"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Поставяне на селекцията"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Избиране на всичко"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Отмяна на избора"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Изтриване на дума назад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Изтриване на дума напред"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Намиране"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Намиране следващо"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Намиране предишно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Заместване"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Начална страница"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Начало"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Край"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Приоритет"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Следващ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Нагоре"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напред"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Презареждане"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Начало на реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Край на реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Отиване на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Дума назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Дума напред"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Добавяне на отметка"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличаване на мащаба"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Намаляване на мащаба"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим на цял екран"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показване на меню лента"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активиране на следващия раздел"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активиране на предишния раздел"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помощ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Какво е това"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Завършване на текст"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Предишно съвпадение за завършване"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следващо съвпадение за завършване"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Завършване на подниза"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Предишен елемент в списъка"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следващ елемент в списъка"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отваряне на скорошни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Запазване като"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Връщане"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед преди печат"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Поща"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Изчистване"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Мащабиране до действителен размер"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Напасване на цяла страница"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Напасване по ширина"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Напасване на височина"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Мащабиране"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Отиване"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Отиване на страница"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад на документа"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Препращане на документ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Редактиране на отметки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показване на лентата с инструменти"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показване на лентата на състоянието"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Клавишни комбинации"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Конфигуриране на приложението"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Конфигуриране на ленти с инструменти"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Конфигуриране на известията"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Подаване на сигнал за грешка"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Конфигуриране на език…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Относно приложението"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Относно KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Изтриване"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуване"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Преместване в кошчето"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Дарение"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Показване/скриване на скрити файлове"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Създаване на папка"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Отваряне на главното меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Отваряне на контекстното меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE инструмент за актуализиране на потребителски конфигурационни файлове"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задържане на изходните резултати от скриптове"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Само за тестове на единици: без записване на готовите записи, така че при "
+"всяко повторностартиране, скриптовете да се изпълняват отново"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Проверяване, дали самият конфигурационен файл изисква актуализиране"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл или файлове с инструкции за актуализиране"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Директория за генериране на файлове в [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "директория"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показване на лиценз за софтуер."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Използване на  <file>  вместо глобална конфигурация"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група, в която да търсите. Използвайте \"<default>\" за root групата или "
+"използвайте многократно за вложени групи."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ за търсене"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Стойност по подразбиране"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип променлива"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Името на групата не може да бъде празно, Използвайте \"<default>\" за root "
+"групата"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип променлива. Използване на\"bool\"за булева стойност, в противен случай "
+"тя се третира като низ"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Изтриване на посочения ключ, ако е активиран"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Стойност за запис. Изисква се, в терминал използвайте '' за празно"
diff --git a/poqm/bn/kconfig6_qt.po b/poqm/bn/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..fd21865
--- /dev/null
@@ -0,0 +1,1094 @@
+# translation of kwriteconfig.po to Bengali
+# Deepayan Sarkar <deepayan.sarkar@gmail.com>, 2004, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2012-07-12 14:43+0530\n"
+"Last-Translator: Deepayan Sarkar <deepayan.sarkar@gmail.com>\n"
+"Language-Team: Bengali <kde-translation@bengalinux.org>\n"
+"Language: bn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "গ্লোবাল কনফিগ-এর পরিবর্তে <file> ব্যবহার করো"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "যে যে গ্রুপ-এ দেখা হবে। একাধিক স্তরে গ্রুপ থাকলে একাধিকবার ব্যবহার করুন।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "যে কী (Key) খোঁজা হবে "
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ভেরিয়েবল-এর টাইপ। বুলিয়ান-এর জন্য \"bool\" ব্যবহার করুন, বাকি সব string হিসাবে "
+"গণ্য হবে"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "যে মানটি লেখা হবে। দেওয়া প্রয়োজন। শেল-এ ফাঁকা রাখতে '' ব্যবহার করুন"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "কে-রাইট-কনফিগ"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "কনফিগ এন্ট্রি লেখে - শেল স্ক্রিপ্ট-এ ব্যবহারের জন্য"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig লিখেছেন, যার ভিত্তিতে এই প্রোগ্রামটি লেখা"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "দীপায়ন সরকার"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "deepayan@bengalinux.org"
diff --git a/poqm/bn_IN/kconfig6_qt.po b/poqm/bn_IN/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..f9160b4
--- /dev/null
@@ -0,0 +1,1081 @@
+# translation of kwriteconfig.po to Bengali INDIA
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-04 18:29+0530\n"
+"Last-Translator: Runa Bhattacharjee <runab@fedoraproject.org>\n"
+"Language-Team: Bengali INDIA <discuss@ankur.org.in>\n"
+"Language: bn_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "গ্লোবাল কনফিগের পরিবর্তে <file> ব্যবহার করুন"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "যে দলের মধ্যে অনুসন্ধান করা হবে। নেস্টেড দলের জন্য পুনাবৃত্তি করা আবশ্যক।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "অনুসন্ধানের জন্য চিহ্নিত কি"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ভেরিয়েবলের ধরন। বুলিয়ানের ক্ষেত্রে \"bool\" ব্যবহার করুন, অন্যথা সেটি স্ট্রিং রূপে "
+"ব্যবহার করা হবে।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"লেখার উদ্দেশ্যে চিহ্নিত মান। উল্লেখ করা আবশ্যক। ফাঁকা হলে শেলের মধ্যে '' লিখুন।"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig এনট্রি লিখুন - শেল স্ক্রিপ্টের সাথে ব্যবহারের উদ্দেশ্যে"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) ২০০১ Red Hat, Inc. ও লুই পেদ্রো কোয়লহো"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr ""
+#~ "kreadconfig-র লেখক। এই প্রোগ্রাম kreadconfig-র উপর ভিত্তি করে নির্মিত হয়েছে।"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "লুই পেদ্রো কোয়েলহো"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "বার্নার্ড রোসেনক্রেইনজার"
diff --git a/poqm/br/kconfig6_qt.po b/poqm/br/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..4c19d2e
--- /dev/null
@@ -0,0 +1,1054 @@
+# KDE breton translation
+# Thierry Vignaud <tvignaud@mandriva.com>, 2004-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2004-07-08 17:18+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud.com>\n"
+"Language-Team: Brezhoneg <Suav.Icb.fr>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Thierry Vignaud, Jañ-Mai Drapier"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "tvignaud@mandriva.com, jdrapier@club-internet.fr"
diff --git a/poqm/bs/kconfig6_qt.po b/poqm/bs/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..d1d21b6
--- /dev/null
@@ -0,0 +1,1244 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kde5\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2015-02-24 19:56+0100\n"
+"Last-Translator: Samir Ribić <megaribi@epn.ba>\n"
+"Language-Team: Bosnian\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u konfiguracionu datoteku %1.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Kuća"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Elektronska pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Izlaz"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Poništi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Umetni"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Čisto"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamijeni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uvećaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj zabilješku"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Izmijeni zabilješke"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim punog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi alatne trake"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE-u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE-u"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Izlaz"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Poništi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Isijeci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Umetni"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Umetni izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši riječ unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamijeni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Kuća"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sljedeći"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ponovo učitaj"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na liniju"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Riječ unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zabilješku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim punog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sljedeću karticu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodnu karticu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sljedeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sljedeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Elektronska pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Čisto"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uvećaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument naprijed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Izmijeni zabilješke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Pridruživanja tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi alatne trake"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE-u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih konfiguracionih datoteka"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Provjeri da li konfiguraciona datoteka zahtijeva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktorij za generisanje datoteka u [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorij"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži softversku licencu."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi <file> umjesto globalne konfiguracije"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugniježđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ za pregled"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Uobičajena vrijednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Vrsta varijable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta promjenljive. Koristite \"bool\" za boole-ovu (logičku) promjenljivu,u "
+"suprotnom će biti tretirana kao string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrijednost koja se upisuje. Obavezno, u školjki koristite '' za prazno"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savjet dana"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opcije snimanja"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promijeni jezik programa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Postavke"
diff --git a/poqm/ca/kconfig6_qt.po b/poqm/ca/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..39a4c27
--- /dev/null
@@ -0,0 +1,1062 @@
+# Translation of kconfig6_qt.po to Catalan
+# Copyright (C) 2004-2024 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Ivan Lloro Boada <antispam@wanadoo.es>, 2004.
+# Antoni Bella Pérez <antonibella5@yahoo.com>, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2022.
+# Empar Montoro Martín <montoro_mde@gva.es>, 2019.
+# Josep M. Ferrer <txemaq@gmail.com>, 2007, 2008, 2009, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-05 19:26+0200\n"
+"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Accelerator-Marker: &\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Si us plau, contacteu amb l'administrador del sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No es pot escriure en el fitxer de configuració «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Per defecte"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Enrere"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "En&davant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inici"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nou"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un document nou"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Obre…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Obre un document existent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Obre'n un de &recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Obre un document que s'ha obert recentment"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Desa"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Desa el document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Desa &com a…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Desa el document amb un nom nou"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verteix"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Reverteix els canvis sense desar efectuats en el document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tan&ca"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Tanca el document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primeix…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimeix el document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Vista prèvia d'impressió"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra una vista prèvia d'impressió del document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envia un document per correu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Surt"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Surt de l'aplicació"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfés"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfà l'última acció"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fés"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refà l'última acció desfeta"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Re&talla"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Retalla la selecció al porta-retalls"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selecció al porta-retalls"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Enganxa"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Enganxa el contingut del porta-retalls"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Neteja"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecciona-ho &tot"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desse&lecciona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Cerca…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Cerca la següe&nt"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Cerca l'an&terior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Substitueix…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &a la mida real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visualitza el document en la seva mida real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ajusta a la pàgina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom fins a ajustar la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajusta a l'a&mplada de la pàgina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom fins a ajustar l'amplada de la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajusta a l'a&lçada de la pàgina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom fins a ajustar l'alçada de la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Amplia"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Redueix"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecciona el nivell de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Actualitza"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualitza el document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Amunt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Puja"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pàgina anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Va a la pàgina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pàgina següe&nt"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Va a la pàgina següent"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ves a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ves a la pàgina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ves a la línia…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "P&rimera pàgina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Va a la primera pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú&ltima pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Va a l'última pàgina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Enrere"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Va enrere en el document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "En&davant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Va endavant en el document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Afegeix una adreça d'interès"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita les adreces d'interès…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Verifica l'ortografia en el document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra de &menús"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o oculta la barra de menús"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra d'&eines"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o oculta la barra d'eines"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra d'est&at"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o oculta la barra d'estat"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Mode de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura les &dreceres de teclat…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura les &barres d'eines…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura les &notificacions…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual del %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Què és &això?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Informeu d'un error…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &l'idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Quant al %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Quant al &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Su&primeix"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Reanomena…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mou a la paperera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donatius"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Obre el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Obre"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nou"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tanca"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Desa"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimeix"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Surt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfés"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refés"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Retalla"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Enganxa"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Enganxa la selecció"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecciona-ho tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desselecciona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Suprimeix una paraula cap enrere"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Suprimeix una paraula cap endavant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Cerca"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Cerca la següent"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Cerca l'anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substitueix"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inici"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comença"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Finalitza"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Següent"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Puja"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Enrere"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Endavant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Torna a carregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Començament de la línia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Final de línia"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ves a la línia"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Paraula enrere"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Paraula endavant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Afegeix una adreça d'interès"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Apropa"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Allunya"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra de menús"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa la pestanya següent"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa la pestanya anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Què és això?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Compleció del text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidència anterior de la compleció"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidència següent de la compleció"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Compleció de les subcadenes"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Element anterior a la llista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Element següent a la llista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Obre'n un de recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Desa com a"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverteix"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista prèvia d'impressió"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correu"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Neteja"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom a la mida real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajusta a la pàgina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajusta a l'amplada"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajusta a l'alçada"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ves a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ves a la pàgina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document enrere"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document endavant"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita les adreces d'interès"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra d'eines"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra d'estat"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lligams de tecla"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura l'aplicació"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura les barres d'eines"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura les notificacions"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informeu d'un error"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura l'idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Quant a l'aplicació"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Quant al KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Suprimeix"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Reanomena"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mou a la paperera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donatius"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/Oculta els fitxers ocults"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea una carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Obre el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Obre el menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Eina del KDE per a actualitzar els fitxers de configuració d'usuari"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserva els resultats de la sortida dels scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Només per a les proves unitàries: no escriviu les entrades efectuades, així "
+"que en cada execució els scripts es tornen a executar de nou"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comproveu si cal actualitzar el fitxer de configuració"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fitxer/s per a llegir les instruccions d'actualització des de"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directori per a generar els fitxers a [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra la llicència del programari."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usa <fitxer> en comptes de la configuració global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grup on cercar. Useu «<predeterminat>» per al grup arrel, o useu-lo "
+"repetidament per a grups imbricats."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clau a cercar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor per defecte"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipus de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nom de grup no pot estar buit, useu «<predeterminat>» per al grup arrel"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipus de variable. Fa servir «bool» per a un booleà. En un altre cas, es "
+"tracta com una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Suprimeix la clau designada, si està activada"
+
+# skip-rule: t-apo_ini,t-apo_fin
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor a escriure. És obligatori. A l'intèrpret d'ordres fer servir '' si "
+"està buit"
diff --git a/poqm/ca@valencia/kconfig6_qt.po b/poqm/ca@valencia/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..3609c8c
--- /dev/null
@@ -0,0 +1,1063 @@
+# Translation of kconfig6_qt.po to Catalan (Valencian)
+# Copyright (C) 2004-2024 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Ivan Lloro Boada <antispam@wanadoo.es>, 2004.
+# Antoni Bella Pérez <antonibella5@yahoo.com>, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2022.
+# Empar Montoro Martín <montoro_mde@gva.es>, 2019.
+# Josep M. Ferrer <txemaq@gmail.com>, 2007, 2008, 2009, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-05 19:26+0200\n"
+"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"Language: ca@valencia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Accelerator-Marker: &\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacteu amb l'administrador del sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No es pot escriure en el fitxer de configuració «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predeterminat"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "A&rrere"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&vant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inici"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nou"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un document nou"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "O&bri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Obri un document existent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Obri'n un de &recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Obri un document que s'ha obert recentment"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Guar&da"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Guarda el document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Anomena i gu&arda…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Guarda el document amb un nom nou"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vertix"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revertix els canvis sense guardar efectuats en el document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tan&ca"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Tanca el document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primix…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimix el document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Vista prèvia d'impressió"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra una vista prèvia d'impressió del document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envia un document per correu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "I&x"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ix de l'aplicació"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfés"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfà l'última acció"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fés"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refà l'última acció desfeta"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Re&talla"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Retalla la selecció a dins del porta-retalls"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selecció a dins del porta-retalls"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "A&pega"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Apega el contingut del porta-retalls"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Neteja"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecciona-ho &tot"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desse&lecciona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Bu&sca…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Busca la següe&nt"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Busca l'an&terior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Su&bstituïx…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &a la mida real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visualitza el document en la seua mida real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ajusta a la pàgina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom fins a ajustar la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajusta a l'a&mplària de la pàgina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom fins a ajustar l'amplària de la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajusta a l'a&lçària de la pàgina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom fins a ajustar l'alçària de la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Amplia"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Red&uix"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecciona el nivell de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Act&ualitza"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualitza el document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Amunt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Puja"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pàgina anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Va fins a la pàgina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pàgina següe&nt"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Va fins a la pàgina següent"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ves fins a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ves fins a la pàgina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ves fins a la línia…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "P&rimera pàgina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Va fins a la primera pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú&ltima pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Va fins a l'última pàgina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "A&rrere"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Va arrere en el document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Va avant en el document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Afi&g una adreça d'interés"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita les adreces d'interés…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Verifica l'ortografia en el document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra de &menús"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o oculta la barra de menús"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra d'&eines"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o oculta la barra d'eines"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra d'est&at"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o oculta la barra d'estat"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Mode de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura les &dreceres de teclat…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura les &barres d'eines…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura les &notificacions…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Què és &açò?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Informeu d'un error…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &l'idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Quant a %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Quant a &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Sup&rimix"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Ca&nvia el nom…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mou cap a dins de la paperera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donatius"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Obri el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Obri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nou"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tanca"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Guarda"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimix"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ix"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfés"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refés"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Retalla"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Apega"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Apega la selecció"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecciona-ho tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desselecciona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Suprimix una paraula cap arrere"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Suprimix una paraula cap avant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Busca"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Busca la següent"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Busca l'anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituïx"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inici"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comença"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Finalitza"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Següent"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Puja"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Arrere"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Torna a carregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Començament de la línia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Final de línia"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ves fins a la línia"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Paraula arrere"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Paraula avant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Afig una adreça d'interés"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Acosta"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Allunya"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra de menús"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa la pestanya següent"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa la pestanya anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Què és açò?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Compleció del text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidència anterior de la compleció"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidència següent de la compleció"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Compleció de les subcadenes"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Element anterior en la llista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Element següent en la llista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Obri'n un de recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Anomena i guarda"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revertix"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista prèvia d'impressió"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correu"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Neteja"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom a la mida real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajusta a la pàgina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajusta a l'amplària"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajusta a l'alçària"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ves fins a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ves fins a la pàgina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document arrere"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document avant"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita les adreces d'interés"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra d'eines"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra d'estat"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lligams de tecla"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura l'aplicació"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura les barres d'eines"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura les notificacions"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informeu d'un error"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura l'idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Quant a l'aplicació"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Quant a KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Suprimix"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Canvia el nom"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mou cap a dins de la paperera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donatius"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/Oculta els fitxers ocults"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea una carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Obri el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Obri el menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Eina de KDE per a actualitzar els fitxers de configuració d'usuari"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserva els resultats de l'eixida dels scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Només per a les proves unitàries: no escriviu les entrades efectuades, així "
+"que en cada execució els scripts es tornen a executar de nou"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comproveu si cal actualitzar el fitxer de configuració"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fitxers per a llegir les instruccions d'actualització des de"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directori per a generar els fitxers a [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra la llicència del programari."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilitza <fitxer> en comptes de la configuració global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grup on buscar. Utilitzeu «<predeterminat>» per al grup arrel, o utilitzeu-"
+"lo repetidament per a grups imbricats."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clau que s'ha de buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predeterminat"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipus de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nom de grup no pot estar buit, utilitzeu «<predeterminat>» per al grup "
+"arrel"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipus de variable. Utilitza «bool» per a un booleà. En un altre cas, es "
+"tracta com una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Suprimix la clau designada, si està seleccionada"
+
+# skip-rule: t-apo_ini,t-apo_fin
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor que s'escriurà. És obligatori. En l'intèrpret d'ordres utilitzar '' "
+"si està buit"
diff --git a/poqm/cs/kconfig6_qt.po b/poqm/cs/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..5493b23
--- /dev/null
@@ -0,0 +1,1051 @@
+# SPDX-FileCopyrightText: 2014, 2016, 2017, 2018, 2019, 2020, 2023 Vít Pelčák <vit@pelcak.org>
+# SPDX-FileCopyrightText: 2021, 2022, 2024 Vit Pelcak <vit@pelcak.org>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-27 15:24+0200\n"
+"Last-Translator: Vit Pelcak <vpelcak@suse.cz>\n"
+"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Language: cs_CZ\n"
+"X-Source-Language: en_US\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Prosím kontaktujte svého správce systému."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Soubor s konfigurací \"%1\" je nyní zapisovatelný.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Výchozí"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Zpět"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vpřed"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Domů"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nový"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Vytvořit nový dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Otevřít…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Otevřít existující dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otevřít ne&dávný"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Otevřít dokument jenž byl nedávno otevřen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Uložit"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Uložit dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Uložit j&ako…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Uložit dokument pod jiným názvem"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Vrátit zpět"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Vrátit neuložené změny v dokumentu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Zavřít"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zavřít dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Tisknout…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Vytisknout dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Ná&hled před tiskem"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Zobrazit náhled před tiskem"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Odeslat dokument e-mailem"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "U&končit"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ukončit aplikaci"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Zpět"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Vrátit zpět poslední činnost"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Zno&vu"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Zopakovat naposled vrácenou činnost"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Vyjmou&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Vyjmout výběr do schránky"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopírovat"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopírovat výběr do schránky"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "V&ložit"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Vložit obsah schránky"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Vyči&stit"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vybr&at vše"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Zrušit vý&běr"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Najít…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Najít &následující"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Na&jít předchozí"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Na&hradit…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zvětšit n&a skutečnou velikost"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Zobrazit dokument v reálné velikosti"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Přizpůsobit &stránce"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Přizpůsobit stránku oknu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "&Přizpůsobit šířce stránky"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Přizpůsobit šířce stránky"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Přizpůsobit výš&ce stránky"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Přizpůsobit výšce stránky"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Přiblíž&it"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Oddálit"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zvětšení…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vybrat úroveň přiblížení"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "O&bnovit"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Obnovit dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Nahor&u"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Přejít nahoru"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Předchozí strana"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Přejít na předchozí stranu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Následující strana"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Přejít na následující stranu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Přejít na…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Př&ejít na stranu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Př&ejít na řádku…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&První strana"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Přejít na první stranu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Pos&lední stránka:"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Přejít na poslední stranu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Zpět"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Zpátky v dokumentu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vpřed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vpřed v dokumentu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Přidat k záložkám"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Upr&avit záložky…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Kontrola pravopisu…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Zkontrolovat pravopis dokumentu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Zobrazovat hlavní &nabídku"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Zobrazovat nebo skrýt hlavní nabídku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Zobrazi&t panel nástrojů"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Zobrazovat nebo skrýt panel nástrojů"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Zobrazovat st&avový panel"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Zobrazovat nebo skrýt stavový panel"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Celoobrazovkový reži&m"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Nas&tavit klávesové zkratky…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Nastavit %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastavit panely nástro&jů…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Nastavit upozornění…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Příručka aplikace '%1'"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Co je &toto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Nahlásit &chybu…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastav&it jazyk…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O &aplikaci '%1'"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O prostředí &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Smazat"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Přejmenovat…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pře&sunout do koše"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Přispějte"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otevřít na&bídku"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otevřít"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nový"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zavřít"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Uložit"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tisk"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ukončit"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Zpět"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Znovu"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Vyjmout"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopírovat"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Vložit"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Vložit výběr"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Zrušit označení"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Smazat slovo zpět"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Smazat slovo vpřed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Najít"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Najít další"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Najít předchozí"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Nahradit"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domů"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začátek"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Konec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Předchozí"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Následující"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Nahoru"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Zpět"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vpřed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Obnovit"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začátek řádku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Konec řádku"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Přejít na řádek"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "O slovo zpět"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "O slovo vpřed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Přidat záložku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Přiblížit"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddálit"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Celoobrazovkový režim"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Zobrazovat hlavní nabídku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivovat následující kartu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivovat předchozí kartu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Nápověda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Co je toto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Doplňování textu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Předchozí shoda doplňování"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Další shoda doplňování"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dokončení podřetězců"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Předchozí položka v seznamu"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Další položka v seznamu"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otevřít nedávné"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Uložit jako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrátit zpět"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Náhled tisku"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Email"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Vyčistit"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zvětšit na skutečnou velikost"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Přizpůsobit stránce"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Přizpůsobit šířce"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Přizpůsobit výšce"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zvětšení"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Přejít"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Přejít na stranu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument zpět"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument vpřed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Upravit záložky"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Zobrazit panel nástrojů"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Zobrazit stavový panel"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klávesové zkratky"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastavit aplikaci"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastavit panely nástrojů"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastavit upozornění"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Nahlásit chybu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastavit jazyk…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O aplikaci"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O prostředí KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Smazat"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Přejmenovat"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Přesunout do koše"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Přispět"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Zobrazit/skrýt skryté soubory"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Vytvořit složku"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otevřít hlavní nabídku"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otevřít kontextovou nabídku"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Nástroj KDE pro aktualizaci uživatelských souborů s nastavením"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ponechat výsledky výstupu ze skriptů"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Zkontrolovat, zda soubor nastavení potřebuje aktualizaci"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Soubor(y) obsahující instrukce pro aktualizaci"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Adresář, kde se mají vytvářet soubory [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "adresář"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zobrazit licenci softwaru"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Použít <file> místo globální konfigurace"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Skupina k prohledání. Použijte \"<default>\" pro kořenovou skupinu, nebo "
+"opakovaně pro vnořené skupiny."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Vyhledat klíč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Výchozí hodnota"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ proměnné"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Název skupiny nemůže být prázdný. Použít \"<default>\" pro kořenovou skupinu"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ proměnné. Použijte \"bool\" pro booleovskou hodnotu, jinak je považováno "
+"za řetězec"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Smazat vybraný  pokud povoleno"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hodnota k zapsání. Povinná, v shellu použijte '' jako prázdnou hodnotu"
diff --git a/poqm/csb/kconfig6_qt.po b/poqm/csb/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..06a4b7a
--- /dev/null
@@ -0,0 +1,1081 @@
+# translation of kwriteconfig.po to Kaszëbsczi
+#
+# Michôł Òstrowsczi <michol@linuxcsb.org>, 2006, 2008.
+# Mark Kwidzińsczi <mark@linuxcsb.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-12-16 23:14+0100\n"
+"Last-Translator: Mark Kwidzińsczi <mark@linuxcsb.org>\n"
+"Language-Team: Kashubian <i18n-csb@linuxcsb.org>\n"
+"Language: csb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2)\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Brëkùjë <lopka> w môlu òglowi kònfigùracëji"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grëpa do sprawdzeniô. Brëkùjë czãsto dlô zagniéżdżónëch grëpów."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Szëkóny klucz"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Ôrt zmieniwny. Dlô logiczny wôrtnotë je to \"bool\", w procëmnym razu "
+"zmieniwnô bãdze trzëmónô jakò régã céchów"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Wôrtnota do zapisaniô. Nieòbéńdnô, w skriptach mòże brëkòwac '' dlô pùsti "
+"wôrtnotë"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisanié wińdzeniô KConfig - do brëkòwaniô w skriptach"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisôł kreadconfig, na jaczim to je òpiarté"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/cy/kconfig6_qt.po b/poqm/cy/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..6d15beb
--- /dev/null
@@ -0,0 +1,1082 @@
+# translation of kwriteconfig.po to Cymraeg
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# KGyfieithu <kyfieithu@dotmon.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-07-22 17:02+0100\n"
+"Last-Translator: KGyfieithu <kyfieithu@dotmon.com>\n"
+"Language-Team: Cymraeg <cy@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Defnyddio <ffeil> yn lle'r ffurfwedd eang"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Allwedd i edrych amdani"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Math newidyn. Defnyddiwch \"bool\" am un Booleaidd, neu fe'i drinir fel "
+"llinyn."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Y werth i'w ysgrifennu. Gorfodol, mewn plisgyn defnyddiwch '' am wag"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Ysgrifennu cofnodion KConfig - er defnydd mewn sgriptiau plisgyn"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Owain Green ar ran KGyfieithu - Meddalwedd Gymraeg"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kyfieithu@dotmon.com"
diff --git a/poqm/da/kconfig6_qt.po b/poqm/da/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7c9fa25
--- /dev/null
@@ -0,0 +1,1096 @@
+# translation of kwriteconfig.po to dansk
+# Danish translation of kwriteconfig
+# Copyright (C).
+#
+# Erik Kjær Pedersen <erik@binghamton.edu>, 2003.
+# Keld Simonsen <keld@dkuug.dk>, 2008.
+# Martin Schlander <mschlander@opensuse.org>, 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
+# SPDX-FileCopyrightText: 2024 rasmus rosendahl-kaa <rasmus@rosendahl-kaa.name>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-10-21 13:07+0200\n"
+"Last-Translator: rasmus rosendahl-kaa <rasmus@rosendahl-kaa.name>\n"
+"Language-Team: Danish <kde-i18n-doc@kde.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Kontakt venligst din systemadministrator."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Indstillingsfilen \"%1\" er ikke skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Tilbage"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Frem"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hjem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Opret nyt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Åbn…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Åbn et eksisterende dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Åbn &nylige"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Åbn et dokument der er blevet åbnet for nyligt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gem"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gem dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gem &som…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Gem dokument under et nyt navn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vend &tilbage"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nulstil ikke-gemte ændringer af dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Luk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Luk dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Udskriv…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Udskriv dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vis udskrif&t"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Vis udskrift for et dokument"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send dokument via e-mail"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Afslut"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Afslut programmet"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Fortryd"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Fortryd seneste handling"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Gen&dan"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gendan seneste fortrudte handling"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "K&lip"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klip det markerede til udklipsholderen"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiér"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiér markering til udklipsholder"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Indsæt"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Indsæt indhold fra udklipsholder"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "R&yd"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Markér &alt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Fra&vælg"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Find…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &næste"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Find fo&rrige"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Erstat…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom til &faktisk størrelse"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Se dokumentet i dets faktiske størrelse"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Pas til siden"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom så siden passer til vinduet"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Pas til side&bredden"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom så sidens bredde passer til vinduet"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpas til side&højden"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom så sidens højde passer til vinduet"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &ind"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom &ud"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vælg zoomniveau"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Genindlæs"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Genindlæs dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Op"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå op"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Forrige side"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå til forrige side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Næste side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "&Gå til næste side"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå til…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå til side…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Gå til linje…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Første side"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "&Gå til første side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Sidste side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå til sidste side"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Tilbage"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå tilbage i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Frem"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå frem i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Tilføj bogmærke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Redigér bogmærker…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavekontrol…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kør stavekontrol på dokumentet"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis &menulinje"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis eller skjul menulinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis &værktøjslinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis eller skjul værktøjslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis &statuslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis elle skjul statuslinje"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&uldskærmstilstand"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Indstil tastaturg&enveje…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Indstil %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Indstil værktøjs&linjer"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Indstil &bekendtgørelser…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-&håndbogen"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hvad er &dette?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Rapportér programfejl…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Indstil &sprog..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Slet"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Omdøb…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flyt til papirkurv"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donér"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Åbn &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Åbn"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Luk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gem"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Udskriv"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Afslut"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Fortryd"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gendan"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klip"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiér"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Indsæt"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Indsæt markering"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Markér alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fravælg"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slet ord baglæns"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slet ord forlæns"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Find"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Find næste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find forrige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Erstat"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hjem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begynd"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutning"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Før"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Næste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Op"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbage"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Frem"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Genindlæs"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Linjestart"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Linjeafslutning"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Et ord tilbage"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Et ord frem"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Tilføj bogmærke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom ind"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom ud"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fuldskærmstilstand"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menulinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivér næste faneblad"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivér forrige faneblad"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjælp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hvad er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfuldførelse"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Forrige fuldførelsesmatch"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Næste fuldførelsesmatch"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Fuldførelse af delstreng"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Forrige punkt på listen"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Næste punkt på listen"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Åbn nylige"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gem som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vend tilbage"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vis udskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Ryd"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom til faktisk størrelse"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Pas til siden"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Pas til bredden"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Pas til højden"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument tilbage"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument frem"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redigér bogmærker"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontrol"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis værktøjslinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinje"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindinger"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Indstil program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Indstil værktøjslinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Indstil bekendtgørelser"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapportér programfejl"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "&Indstil sprog..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Slet"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Omdøb"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flyt til papirkurv"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donér"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Vis/skjul skjulte filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Opret mappe"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Åbn hovedmenu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Åbn kontekstmenu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-værktøj til opdatering af brugerindstillingsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behold output-resultater fra scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Undersøg om config-filen selv kræver opdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Filer at læse opdateringsinstruktioner fra"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappe som der skal genereres filer i [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis softwarelicens"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Brug <file> i stedet for global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppe at kigge i. Brug \"<default>\" for root-gruppen eller brug gentagne "
+"gange for indskudte grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Tast at kigge efter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardværdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type af variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppenavne kan ikke være tomme, brug \"<default>\" for root-gruppen"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Brug \"bool\" for en boolesk, ellers behandles den som en "
+"streng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Slet den tildelte nøgle hvis aktiveret"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Værdien der skal skrives. Krævet, i en skal bruges '' for tom"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dagens tip"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Kun til enhedstester: Brug testmapper for at holde dig fra brugerens "
+#~ "rigtige filer"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gem indstillinger"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Skift programsprog"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Indstillinger"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriv KConfig-indgange - til brug i skal-scripts"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Skrev kreadconfig som dette er baseret på"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/de/kconfig6_qt.po b/poqm/de/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..5f47c1f
--- /dev/null
@@ -0,0 +1,1110 @@
+# SPDX-FileCopyrightText: 2023, 2024 Johannes Obermayr <johannesobermayr@gmx.de>
+# Thomas Diehl <thd@kde.org>, 2003.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2006, 2007, 2008.
+# Frederik Schwarzer <schwarzer@kde.org>, 2012, 2014, 2015, 2016, 2020, 2022.
+# Burkhard Lück <lueck@hube-lueck.de>, 2014, 2015, 2016, 2017, 2018, 2019, 2021.
+# Frank Steinmetzger <dev-kde@felsenfleischer.de>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig6_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-08-26 18:25+0200\n"
+"Last-Translator: Johannes Obermayr <johannesobermayr@gmx.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.05.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Bitte nehmen Sie Kontakt zu Ihrer Systemverwaltung auf."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Einrichtungsdatei „%1“ lässt sich nicht speichern.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Zurück"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vorwärts"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Startseite"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Neu"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Neues Dokument erstellen"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Öff&nen …"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Vorhandenes Dokument öffnen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Zuletzt geöffnete Dateien"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Kürzlich geöffnetes Dokument öffnen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Speichern"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Dokument speichern"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Speichern &unter …"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Dokument unter einem neuen Namen speichern"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Zu&rücksetzen"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nicht gespeicherte Änderungen am Dokument verwerfen"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Schließen"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Dokument schließen"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Drucken …"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Dokument drucken"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Druck&vorschau"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Druckvorschau des Dokuments anzeigen"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-Mail …"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Dokument als E-Mail versenden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Be&enden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Anwendung beenden"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Rückgängig"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Letzte Aktion zurücknehmen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Wie&derherstellen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Letzte rückgängig gemachte Aktion wieder herstellen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Ausschneiden"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Auswahl in Zwischenablage ausschneiden"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopieren"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Auswahl in die Zwischenablage kopieren"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Einfügen"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Inhalt der Zwischenablage einfügen"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Löschen"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Alle auswählen"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Auswahl aufheben"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Suchen …"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&Weitersuchen"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "&Frühere suchen"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Ersetzen …"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Auf &Originalgröße zoomen"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Dokument in Originalgröße anzeigen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Auf Seite einpassen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Skalieren um Seite in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Auf Seiten&breite einpassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Skalieren um Seitenbreite in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Auf Seiten&höhe einpassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Skalieren um Seitenhöhe in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ver&größern"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Ver&kleinern"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Vergrößerung …"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vergrößerung auswählen"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Aktualisieren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Dokument aktualisieren"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Nach &oben"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Nach oben"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Vorherige Seite"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Zur vorherigen Seite"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nächste Seite"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Zur nächsten Seite gehen"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gehe zu …"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Zu &Seite gehen …"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Zu &Zeile gehen …"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Erste Seite"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Zur ersten Seite gehen"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Letzte Seite"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Zur letzten Seite"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Zurück"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Rückwärts im Dokument"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vorwärts"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vorwärts im Dokument"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Lesezeichen hin&zufügen"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Lesezeichen &bearbeiten …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Rech&tschreibung …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Rechtschreibprüfung im Dokument"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menüleiste anzeigen"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menüleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Werkzeugleiste anzeigen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Werkzeugleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "&Statusleiste anzeigen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Vollbildmodus"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Tastaturkurzbefe&hle festlegen …"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 einrichten …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Werk&zeugleisten einrichten …"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Benachrichtigungen festlegen …"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbuch zu %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Was ist das?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "P&robleme oder Wünsche berichten …"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Sprache einrichten …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Ü&ber %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Über &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Löschen"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Umbenennen …"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "In den &Papierkorb verschieben"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Spenden"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menü öffnen"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Öffnen"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Neu"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Schließen"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Speichern"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drucken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Beenden"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Rückgängig"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Wiederherstellen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Ausschneiden"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopieren"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Einfügen"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Auswahl einfügen"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Alle auswählen"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Auswahl aufheben"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Vorheriges Wort löschen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Nächstes Wort löschen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Suchen"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Weitersuchen"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Vorherige suchen"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ersetzen"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Pos 1"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Anfang"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Ende"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Vorherige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Weiter"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Nach oben"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Zurück"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vorwärts"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Neu laden"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Zeilenanfang"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Zeilenende"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gehe zu Zeile"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Ein Wort zurück"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Ein Wort vor"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lesezeichen hinzufügen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Vergrößern"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Verkleinern"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Vollbildmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menüleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Nächstes Unterfenster aktivieren"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Vorheriges Unterfenster aktivieren"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hilfe"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Was ist das"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textvervollständigung"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Vorherige Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nächste Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Teilzeichenfolgen-Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Vorheriges Listenelement"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nächstes Listenelement"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Zuletzt geöffnete Dateien"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Speichern unter"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Zurücksetzen"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Druckvorschau"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Via E-Mail versenden"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Leeren"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Auf Originalgröße zoomen"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Auf Seite einpassen"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Auf Seitenbreite einpassen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Auf Seitenhöhe einpassen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Skalierung"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gehe zu"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gehe zu Seite"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Vorheriges Dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Nächstes Dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Lesezeichen bearbeiten"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Rechtschreibung"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Werkzeugleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kurzbefehle"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Anwendung einrichten"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Werkzeugleisten einrichten"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Benachrichtigungen festlegen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Probleme oder Wünsche berichten"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Sprache einrichten …"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Über die Anwendung"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Über KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Löschen"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Umbenennen"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "In den Papierkorb verschieben"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Spenden"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Versteckte Dateien anzeigen/ausblenden"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ordner erstellen"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Hauptmenü öffnen"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Kontextmenü öffnen"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE-Dienstprogramm für die Aktualisierung von Benutzer-Konfigurationsdateien"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skriptausgaben speichern"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Nur für Unit-Tests: Die ausgeführten Einträge nicht schreiben, damit bei "
+"jeder neuen Ausführung alle Skripte nochmals ausführt werden"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Überprüfen Sie, ob die Konfigurationsdatei selbst aktualisiert werden muss"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Dateien, der die Aktualisierungs-Informationen entnommen werden sollen"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ordner, in dem die Dateien generiert werden [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "Ordner"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zeigt die Software-Lizenz an."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> statt globaler Konfigurationsdatei verwenden"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Zu durchsuchende Gruppe. Mehrfach verwenden zur Suche in verschachtelten "
+"Gruppen, oder „<default>“ für die Wurzelgruppe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Zu suchender Schlüssel"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardwert"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Art der Variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Der Gruppenname darf nicht leer sein, benutzen Sie „<default>“ für die "
+"Wurzelgruppe"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Art der Variable. Verwenden Sie „bool“ für den booleschen Typ. Anderenfalls "
+"wird sie als Zeichenfolge (string) behandelt."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Bezeichneten Schlüssel löschen, wenn er aktiviert ist"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Zu schreibender Wert. Zwingend erforderlich. Bei Shells bitte '' verwenden, "
+"um „leer“ vorzugeben."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tipp des Tages"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Nur für Unittests: Test-Ordner verwenden, um die Tests von den "
+#~ "eigentlichen Benutzerdateien zu trennen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Optionen speichern"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Sprache der Anwendung umschalten"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Einstellungen"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-Einträge schreiben – Zur Verwendung in Shell-Skripten"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hat kreadconfig entwickelt, auf dem KWriteConfig basiert"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Thomas Diehl"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "thd@kde.org"
diff --git a/poqm/el/kconfig6_qt.po b/poqm/el/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..55377b7
--- /dev/null
@@ -0,0 +1,1105 @@
+# translation of kwriteconfig.po to Greek
+# Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+#
+# Stergios Dramis <sdramis@egnatia.ee.auth.gr>, 2003-2004.
+# Spiros Georgaras <sng@hellug.gr>, 2007.
+# Spiros Georgaras <sngeorgaras@otenet.gr>, 2008.
+# Dimitris Kardarakos <dimkard@gmail.com>, 2015, 2016.
+# Stelios <sstavra@gmail.com>, 2020, 2023.
+# SPDX-FileCopyrightText: 2024 George Stefanakis <george.stefanakis@gmail.com>
+# Antonis Geralis <capoiosct@gmail.com>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-07 21:11+0300\n"
+"Last-Translator: Αντώνης Γέραλης <capoiosct@gmail.com>\n"
+"Language-Team: Greek <kde-i18n-doc@kde.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.08.0\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Επικοινωνήστε με τον διαχειριστή του συστήματός σας."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Το αρχείο διαμόρφωσης \"%1\" δεν είναι εγγράψιμο.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Προκαθορισμένο"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Πίσω"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Μπροστά"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Αρχική"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Νέο"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Δημιουργία νέου εγγράφου"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Άνοι&γμα…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Άνοιγμα υπάρχοντος εγγράφου"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Άνοιγμα &πρόσφατου"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Άνοιγμα ενός εγγράφου που ανοίχτηκε πρόσφατα"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Αποθήκευση"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Αποθήκευση εγγράφου"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Αποθήκευση &ως…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Αποθήκευση εγγράφου με νέο όνομα"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Επαναφο&ρά"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Επαναφορά μη αποθηκευμένων αλλαγών στο έγγραφο"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Κλείσιμο"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Κλείσιμο εγγράφου"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Εκτύπωση…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Εκτύπωση εγγράφου"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Προεπισκόπηση ε&κτύπωσης"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Εμφάνιση προεπισκόπησης εκτύπωσης του εγγράφου"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Αλληλογραφία…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Αποστολή εγγράφου μέσω ταχυδρομείου"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Έ&ξοδος"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Κλείσιμο εφαρμογής"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Αναίρεση"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Αναίρεση της τελευταίας ενέργειας"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Επαναφορά"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Επανάληψη της τελευταίας ενέργειας που ακυρώθηκε"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Αποκο&πή"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Αποκοπή επιλογής στο πρόχειρο"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Αντιγραφή"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Αντιγραφή επιλογής στο πρόχειρο"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Επικόλληση"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Επικόλληση περιεχομένου πρόχειρου"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Εκκα&θάριση"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Επι&λογή όλων"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Αποεπιλ&ογή"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Εύρεση…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Εύρεση &επόμενου"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Εύρεση προη&γούμενου"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Αντικατάσταση…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Εστίαση σε &πραγματικό μέγεθος"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Προβολή του εγγράφου στο πραγματικό του μέγεθος"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Προσαρμογή στη σελίδα"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Εστίαση για προσαρμογή σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Προσαρμογή στο &πλάτος σελίδας"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Εστίαση για προσαρμογή πλάτους σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Προσαρμογή στο ύ&ψος σελίδας"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Εστίαση για προσαρμογή ύψους σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Μεγέθυνση"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Σμίκρυνση"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Εσ&τίαση…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Επιλογή επιπέδου εστίασης"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Ανανέωση"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Ανανέωση εγγράφου"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Πάνω"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Μετάβαση πάνω"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Προηγούμενη σελίδα"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Μετάβαση στην προηγούμενη σελίδα"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Επόμενη σελίδα"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Μετάβαση στην επόμενη σελίδα"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Μετάβαση σε…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Μετάβαση στη σελίδα…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Μετάβαση στη γραμμή…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Πρώτη σελίδα"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Μετάβαση στην πρώτη σελίδα"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Τελευταία σελίδα"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Μετάβαση στην τελευταία σελίδα"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Πίσω"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Μετάβαση πίσω στο έγγραφο"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Μπροστά"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Μετάβαση προς τα εμπρός στο έγγραφο"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Προσθήκη σελιδοδείκτη"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Επεξεργασία σελιδοδεικτών…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ορθογραφία…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Έλεγχος ορθογραφίας στο έγγραφο"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Εμφάνιση &γραμμής μενού"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Εμφάνιση ή απόκρυψη της γραμμής μενού"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Εμφάνιση &γραμμής εργαλείων"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Εμφάνιση ή απόκρυψη γραμμής εργαλείων"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Εμφάνιση γραμμής κατάστασης"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Εμφάνιση ή απόκρυψη γραμμής κατάστασης"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Λειτουργία πλήρους οθόνης"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Διαμόρφωση συν&τομεύσεων πληκτρολογίου…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Διαμόρφωση %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Διαμόρφωση εργαλείων &γραμμών…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Διαμόρφωση &ειδοποιήσεων…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &εγχειρίδιο"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Τι είναι αυτό?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Αναφορά σφάλματος…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Διαμόρφωση γ&λώσσας…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Σ&χετικά με το %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Σχετικά με το &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Διαγραφή"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Μετονομασία…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Μετακίνηση στα απορρίμματα"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Δωρεά"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Άνο&ιγμα κυρίως μενού"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Άνοιγμα"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Νέο"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Κλείσιμο"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Αποθήκευση"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Εκτύπωση"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Έξοδος"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Αναίρεση"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Επανάληψη"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Αποκοπή"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Αντιγραφή"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Επικόλληση"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Επικόλληση επιλογής"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Επιλογή όλων"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Αποεπιλογή"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Διαγραφή λέξης προς τα πίσω"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Διαγραφή λέξης μπροστά"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Εύρεση"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Εύρεση επόμενου"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Εύρεση προηγούμενου"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Αντικατάσταση"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Αρχική"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Αρχή"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Τέλος"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Προηγούμενο"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Επόμενο"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Πάνω"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Πίσω"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Μπροστά"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Επαναφόρτωση"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Αρχή γραμμής"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Τέλος γραμμής"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Μετάβαση στη γραμμή"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Λέξη προς τα πίσω"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Λέξη μπροστά"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Προσθήκη σελιδοδείκτη"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Μεγέθυνση"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Σμίκρυνση"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Λειτουργία πλήρους οθόνης"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Εμφάνιση γραμμής μενού"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Ενεργοποίηση της επόμενης καρτέλας"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Ενεργοποίηση προηγούμενης καρτέλας"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Βοήθεια"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Τι είναι αυτό"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Συμπλήρωση κειμένου"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Προηγούμενο ταίριασμα συμπλήρωσης"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Επόμενο ταίριασμα συμπλήρωσης"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Συμπλήρωση υποσυμβολοσειράς"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Προηγούμενο αντικείμενο στη λίστα"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Επόμενο αντικείμενο στη λίστα"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Άνοιγμα πρόσφατου"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Αποθήκευση ως"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Επαναφορά"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Προεπισκόπηση εκτύπωσης"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Αλληλογραφία"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Εκκαθάριση"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Εστίαση στο πραγματικό μέγεθος"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Προσαρμογή στη σελίδα"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Προσαρμογή στο πλάτος"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Προσαρμογή στο ύψος"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Εστίαση"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Μετάβαση"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Μετάβαση σε σελίδα"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Έγγραφο πίσω"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Έγγραφο μπροστά"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Επεξεργασία σελιδοδεικτών"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ορθογραφία"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Εμφάνιση γραμμής εργαλείων"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Εμφάνιση γραμμής κατάστασης"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Πλήκτρα συνδυασμών"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Διαμόρφωση εφαρμογής"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Διαμόρφωση γραμμών εργαλείων"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Διαμόρφωση ειδοποιήσεων"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Αναφορά σφάλματος"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Διαμόρφωση γλώσσας..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Σχετικά με την εφαρμογή"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Σχετικά με το KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Διαγραφή"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Μετονομασία"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Μετακίνηση στα απορρίμματα"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Δωρεά"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Εμφάνιση/απόκρυψη κρυφών αρχείων"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Δημιουργία φακέλου"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Άνοιγμα κυρίως μενού"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Άνοιγμα κυρίως μενού"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Εργαλείο του KDE για ενημέρωση των αρχείων διαμόρφωσης των χρηστών"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Διατήρηση των αποτελεσμάτων των σεναρίων κελύφους"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Μόνο για τις δοκιμές μονάδας: μην γράφετε τις καταχωρήσεις done, έτσι ώστε "
+"σε κάθε επανεκτέλεση, τα σενάρια να εκτελούνται ξανά"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Έλεγχος για το αν αυτό καθαυτό το αρχείο διαμόρφωσης χρειάζεται ενημέρωση"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Αρχείο(α) για ανάγνωση εντολών ενημέρωσης"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ο κατάλογος όπου θα δημιουργηθούν τα αρχεία [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "κατάλογος"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Εμφάνιση άδειας χρήσης λογισμικού."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Χρήση <αρχείου> αντί καθολικής διαμόρφωσης"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Ομάδα στην οποία θα γίνει η αναζήτηση. Χρησιμοποιήστε \"<default>\" για την "
+"ομάδα του root ή επαναληπτικά για εμφωλευμένες ομάδες."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Κλειδί για αναζήτηση"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Προκαθορισμένη τιμή"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Τύπος μεταβλητής"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Το όνομα της ομάδας δεν μπορεί να είναι κενό, χρησιμοποιήστε \"<default>\" "
+"για την ομάδα του root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Τύπος μεταβλητής. Χρησιμοποιήστε \"bool\" για boolean, αλλιώς "
+"αντιμετωπίζεται ως συμβολοσειρά"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Να διαγραφεί το σημειωμένο κλειδί αν είναι ενεργό"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Η τιμή για εγγραφή. Υποχρεωτική, σε ένα κέλυφος χρησιμοποιήστε '' για κενό"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Συμβουλή της ημέρας"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Για ελέγχους από τον προγραμματιστή και μόνο: χρησιμοποιήστε "
+#~ "δοκιμαστικούς καταλόγους για να μείνετε μακρυά από τα πραγματικά αρχεία "
+#~ "του χρήστη"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Επιλογές αποθήκευσης"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Εναλλαγή γλώσσας εφαρμογής"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Προτιμήσεις"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Εγγραφή καταχωρήσεων KConfig - για χρήση σε σενάρια κελύφους"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Έγραψε το kreadconfig, στο οποίο βασίζεται αυτό"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/en_GB/kconfig6_qt.po b/poqm/en_GB/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..e723d44
--- /dev/null
@@ -0,0 +1,1104 @@
+# translation of kwriteconfig.po to British English
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Malcolm Hunter <malcolm.hunter@gmx.co.uk>, 2003, 2008.
+# Andrew Coles <andrew_coles@yahoo.co.uk>, 2009.
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Steve Allewell <steve.allewell@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-24 16:48+0100\n"
+"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
+"Language-Team: British English\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Please contact your system administrator."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Configuration file \"%1\" not writable.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Default"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Back"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Forward"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&New"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Create new document"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Open…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Open an existing document"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Open &Recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Open a document which was recently opened"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Save"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Save document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Save &As…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Save document under a new name"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vert"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revert unsaved changes made to document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Close"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Close document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Print…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Print document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Print Previe&w"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Show a print preview of document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send document by mail"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quit"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quit application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Undo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Undo last action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&do"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Redo last undone action"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cu&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Cut selection to clipboard"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copy"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copy selection to clipboard"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Paste"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Paste clipboard content"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "C&lear"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Select &All"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&lect"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Find…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &Next"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Find Pre&vious"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Replace…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom to &Actual Size"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "View document at its actual size"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Fit to Page"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom to fit page in window"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Fit to Page &Width"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom to fit page width in window"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Fit to Page &Height"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom to fit page height in window"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &In"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom &Out"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Select zoom level"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refresh"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refresh document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Up"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Go up"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Previous Page"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Go to previous page"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Next Page"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Go to next page"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Go To…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Go to Page…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Go to Line…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&First Page"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Go to first page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Last Page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Go to last page"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Back"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Go back in document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Forward"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Go forward in document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Add Bookmark"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edit Bookmarks…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Spelling…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Check spelling in document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Show &Menubar"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Show or hide menubar"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Show &Toolbar"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Show or hide toolbar"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Show St&atusbar"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Show or hide statusbar"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ull Screen Mode"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configure Keyboard S&hortcuts…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configure %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configure Tool&bars…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configure &Notifications…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &Handbook"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "What's &This?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Report Bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configure &Language…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&About %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "About &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Delete"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Rename…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Move to Wastebin"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donate"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Open &Menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Open"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "New"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Close"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Save"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Print"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quit"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Undo"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Redo"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copy"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Paste"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Paste Selection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Select All"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deselect"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Delete Word Backwards"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Delete Word Forward"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Find"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Find Next"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find Prev"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Replace"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begin"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "End"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Next"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Up"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Back"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Forward"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reload"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Beginning of Line"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "End of Line"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Go to Line"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Backward Word"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Forward Word"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Add Bookmark"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Full Screen Mode"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Show Menu Bar"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activate Next Tab"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activate Previous Tab"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Help"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "What's This"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Text Completion"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Previous Completion Match"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Next Completion Match"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Substring Completion"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Previous Item in List"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Next Item in List"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Open Recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Save As"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revert"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Print Preview"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Clear"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom to Actual Size"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Fit To Page"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fit To Width"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fit To Height"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Goto"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Goto Page"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document Back"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document Forward"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edit Bookmarks"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Spelling"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Show Toolbar"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Show Statusbar"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Key Bindings"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configure Application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configure Toolbars"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configure Notifications"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Report Bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configure Language…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "About Application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "About KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Delete"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Rename"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Move to Wastebin"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donate"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Show/Hide Hidden Files"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Create Folder"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Open Main Menu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Open Context Menu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE Tool for updating user configuration files"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Keep output results from scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Check whether config file itself requires updating"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File(s) to read update instructions from"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directory to generate files in [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directory"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Display software licence."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Use <file> instead of global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Key to look for"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Default value"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type of variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Group name cannot be empty, use \"<default>\" for the root group"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Delete the designated key if enabled"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "The value to write. Mandatory, on a shell use '' for empty"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip Of Day"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Save Options"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Switch Application Language"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferences"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Write KConfig entries - for use in shell scripts"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Wrote kreadconfig on which this is based"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Malcolm Hunter"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "malcolm.hunter@gmx.co.uk"
diff --git a/poqm/eo/kconfig6_qt.po b/poqm/eo/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..c06ea11
--- /dev/null
@@ -0,0 +1,1057 @@
+# translation of kconfig6_qt.pot to esperanto
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the kconfig package.
+# Matthias Peick <matthias@peick.de>, 2004.
+# Pierre-Marie Pédrot <pedrotpmx@wanadoo.fr>, 2007.
+# Michael Moroni <michael.moroni@mailoo.org>, 2012.
+# Oliver Kellogg <olivermkellogg@gmail.com>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-30 07:49+0200\n"
+"Last-Translator: Oliver Kellogg <olivermkellogg@gmail.com>\n"
+"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Poedit-Language: Esperanto\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Bonvolu kontakti vian sisteman administranton."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Agorda dosiero \"%1\" ne skribebla.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Defaŭlto"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Reen"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Antaŭen"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hejma"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nova"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Krei novan dokumenton"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Malfermi…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Malfermi ekzistantan dokumenton"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Malfermi &Lastatempan"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Malfermi dokumenton kiu estis lasttempe malfermita"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Kon&servi"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Konservi dokumenton"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Konservi &Kiel…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Konservi dokumenton sub nova nomo"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Mal&fari"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Malfari nekonservitajn ŝanĝojn faritajn al dokumento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "F&ermi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Fermi dokumenton"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Presi…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Presi dokumenton"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pres-Antaŭrigar&do"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Montri antaŭrigardon de presita dokumento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Ret&poŝti…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Sendi dokumenton per retpoŝto"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "F&orlasi"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Forlasi aplikon"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Malfar&u"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Malfari lastan agon"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fari"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refari laste malfaritan agon"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Tondi"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Tondi elekton al poŝo"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopii"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopii elekton al poŝo"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Alglui"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Alglui poŝenhavon"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "V&iŝi"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Elekti &Ĉion"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Male&lekti"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trovi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trovi Sekva&n"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tro&vi Antaŭan"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Anstataŭigi…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zomi al F&akta Grandeco"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Rigardi dokumenton en ĝia fakta grandeco"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ĝisrandigi al Paĝo"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zomi por konvenigi paĝon en fenestro"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ĝisrandigi al Paĝa &Larĝeco"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zomi por konvenigi paĝolarĝecon en fenestro"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ĝisrandigi al Paĝa Alte&co"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zomi por konvenigi paĝan altecon en fenestro"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zom&i"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Malz&omi"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zomi…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Elekti zomnivelon"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refreŝigi"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refreŝigi dokumenton"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "S&upren"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Iri supren"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Antaŭa &Paĝo"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Iri al antaŭa paĝo"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Sekva&nta Paĝo"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iri al sekva paĝo"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Iri Al…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Iri al Paĝo…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Iri al Linio…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Unua Paĝo"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iri al unua paĝo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Lasta Paĝo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Iri al lasta paĝo"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Malantaŭen"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Iri malantaŭen en la dokumento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Antaŭen"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Iri antaŭen en la dokumento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Aldoni Legosignon"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "R&edakti Legosignojn…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Literumo…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kontroli literumon en dokumento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Montri &Menubreton"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Montri aŭ kaŝi menubreton"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Montri Ilobre&ton"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Montri aŭ kaŝi ilobreton"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Montri St&atusbreton"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Montri aŭ kaŝi statusbreton"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Plen-Ekrana Reĝim&o"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Agordi &Klavarkombinojn…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "A&gordi %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Agordi Ilo&bretojn…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Agordi Sciigoj&n…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manlibro %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kio estas &Tio?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Raporti Cimon…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Agordi &Lingvon…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Pri %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Pri &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Forigi"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomi…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Movi al Rubujo"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donaci"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Malfermi &Menuon"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Malfermi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nova"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fermi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Konservi"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Presi"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Forlasi"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Malfari"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refari"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Tranĉi"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopii"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Alglui"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Alglui Elekton"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Elekti Ĉion"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Malelekti"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Forigi Vorton Malantaŭen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Forigi Vorton Antaŭen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trovi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trovi Sekvan"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trovi Antaŭan"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Anstataŭigi"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hejmo"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Komenco"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fino"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Antaŭa"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Supren"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Reen"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Antaŭen"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reŝargi"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Komenco de Linio"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fino de Linio"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iri al Linio"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Malantaŭen Vorte"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Antaŭen Vorte"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Aldoni legosignon"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zomi"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Malzomi"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Plena Ekrana Reĝimo"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Montri Menubreton"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivigi Sekvan Langeton"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivigi Antaŭan Langeton"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Helpo"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kio estas tio"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksto Kompletigo"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Antaŭa Kompleta Kongruo"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sekva Kompleta Kongruo"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Subĉena Kompletigo"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Antaŭa Ero en Listo"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sekva Ero en Listo"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Malfermi Lastatempan"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Konservi kiel"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reiri"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Presita antaŭvido"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poŝto"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Klara"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zomi al Fakta Grandeco"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ĝisrandigi al Paĝo"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ĝisrandigi al Larĝo"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ĝisrandigi al Alteco"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zomi"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Iri al"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Iri al Paĝo"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumento Reen"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumento Antaŭen"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redakti legosignojn"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Literumo"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Montri Ilobreton"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Montri Statusbreton"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klavkombinoj"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Agordi Aplikaĵon"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Agordi Ilobretojn"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Agordi Sciigojn"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Raporti Cimon"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Agordi Lingvon…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Pri Apliko"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Pri KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Forigi"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Alinomi"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Movi al Rubujo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doni"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Montri/Kaŝi Kaŝitajn dosierojn"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Krei Dosierujon"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Malfermi Ĉefmenuon"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Malfermi Kuntekstmenuon"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-ilo por ĝisdatigi uzantajn agordajn dosierojn"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Konservi eligajn rezultojn de skriptoj"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Nur por unuotestoj: ne skribi la pretajn enirojn por ke je ĉiu relanĉo, la "
+"skriptoj estos ree ruligataj"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontroli ĉu agorda dosiero mem postulas ĝisdatigon"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Dosiero(j) por legi ĝisdatigajn instrukciojn"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosierujo en kiu generi dosierojn [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dosierujo"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Montri programlicencon."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Uzi <file> anstataŭ ol ĉieaj agordoj"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo priserĉenda. Uzu \"<defaŭlta>\" por la radika grupo, aŭ uzu ripete por "
+"ingitaj grupoj."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Serĉenda ŝlosilo"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Defaŭlta valoro"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Speco de variablo"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Grupnomo ne povas esti malplena, uzu \"<default>\" por la radika grupo"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Speco de variablo. Uzu \"bool\" por bulea, alikaze ĝi estas traktata kiel "
+"ĉeno"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Forigi la elektitan ŝlosilon se ĝi estas ebligita"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "La skribenda valoro. Nepre, en ŝelo uzu '' kiel malplena"
diff --git a/poqm/es/kconfig6_qt.po b/poqm/es/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ec0bb39
--- /dev/null
@@ -0,0 +1,1106 @@
+# translation of kwriteconfig.po to Spanish
+# Translation of kwriteconfig to Spanish
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+#
+# Miguel Revilla Rodríguez <yo@miguelrevilla.com>, 2003.
+# Jaime Robles <jaime@kde.org>, 2003, 2008.
+# Enrique Matias Sanchez (aka Quique) <cronopios@gmail.com>, 2007.
+# SPDX-FileCopyrightText: 2012, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Eloy Cuadra <ecuadra@eloihr.net>
+# Rocio Gallego <traducciones@rociogallego.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 03:53+0200\n"
+"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
+"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Póngase en contacto con el administrador de su sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No se puede escribir en el archivo de configuración «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Por omisión"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "A&trás"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&delante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inicio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nueva"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crear nuevo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Abrir..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Abrir un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir &reciente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Abrir un documento abierto recientemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Guardar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Guardar documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "G&uardar como..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Guardar el documento con un nombre nuevo"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vertir"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revertir los cambios sin guardar hechos en el documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Cerrar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Cerrar el documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primir..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimir documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista previa de la i&mpresión"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostrar una vista previa del documento impreso"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "C&orreo..."
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Enviar el documento por correo"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Salir"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Salir de la aplicación"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Deshacer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Deshacer la última acción"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&hacer"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Rehacer la última acción deshecha"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cor&tar"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Cortar la selección al portapapeles"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copiar la selección al portapapeles"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Pegar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pegar el contenido del portapapeles"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Borrar"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Seleccionar todo"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&leccionar"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Buscar..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Buscar si&guiente"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "B&uscar anterior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Sustituir..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Ampliar al tamaño real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ver el documento en su tamaño real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&justar a la página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Ampliar para que la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar a la a&nchura de la página"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Ampliar para que la anchura de la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajus&tar a la altura de la página"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Ampliar para que la altura de la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampl&iar"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Reducir"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "A&mpliación..."
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar el nivel de ampliación"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refrescar"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualizar el documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Arriba"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Página anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ira a la página anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pági&na siguiente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir a la página siguiente"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ir a..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ir a la página..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ir a la línea..."
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Pri&mera página"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir a la primera página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú&ltima página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ir a la última página"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Retroceder"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Retroceder en el documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vanzar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanzar en el documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Añadir marcador"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editar marcadores..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Comprobación &ortográfica..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Comprobar la ortografía del documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Mostrar la barra de menú"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar u ocultar la barra de menú"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mos&trar la barra de herramientas"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar u ocultar la barra de herramientas"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar la b&arra de estado"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar u ocultar la barra de estado"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Modo de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configurar los ata&jos de teclado..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configurar %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar &barras de herramientas..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar &notificaciones..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "¿&Qué es esto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "In&formar de fallo..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar &idioma..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Acerca de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Acerca de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Borrar"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Cambiar &nombre..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mover a la papelera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Hacer un &donativo"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nuevo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Cerrar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Guardar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Salir"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Deshacer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Rehacer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Pegar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Pegar selección"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Borrar palabra hacia atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Borrar palabra hacia adelante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Buscar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Buscar siguiente"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Buscar anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Sustituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inicio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Principio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Siguiente"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Arriba"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atrás"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Adelante"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Volver a cargar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Principio de línea"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de línea"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir a la línea"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palabra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Palabra siguiente"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Añadir marcador"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reducir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar la barra de menú"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar siguiente pestaña"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar anterior pestaña"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ayuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "¿Qué es esto?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Terminación de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidencia de terminación anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidencia de terminación siguiente"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Terminación de subcadenas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Anterior elemento de la lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Siguiente elemento de la línea"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir reciente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Guardar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revertir"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista previa de la impresión"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correo"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Borrar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar al tamaño real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar a la página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar al ancho"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar a la altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliación"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir a la página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Anterior documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Siguiente documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar marcadores"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Corrección ortográfica"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar la barra de herramientas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar la barra de estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asignaciones de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar aplicación"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar barras de herramientas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar notificaciones"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informar de fallo"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Acerca de la aplicación"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Acerca de KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Borrar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Cambiar nombre"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mover a la papelera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Hacer un donativo"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/ocultar archivos ocultos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crear carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir el menú de contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Herramienta de KDE para actualizar archivos de configuración de usuario"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantener los resultados de salida de los scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solo para pruebas unitarias: no escribir las entradas terminadas, de modo "
+"que con cada repetición se ejecuten de nuevo los guiones"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comprobar si el archivo de configuración necesita actualización"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Archivo(s) de donde leer las instrucciones de actualización"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directorio en el que generar los archivos [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directorio"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostrar la licencia del software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <archivo> en lugar de la configuración global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo en el que buscar. Use «<predeterminado>» para el grupo raíz, o úselo "
+"de forma repetida para grupos anidados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clave a buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor por omisión"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nombre del grupo no puede estar vacío. Use «<predeterminado>» para el "
+"grupo raíz."
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo de variable. Use «bool» para un booleano, de lo contrario se tratará "
+"como una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Borrar la clave designada si está activado"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor a escribir. Obligatorio. En un intérprete de órdenes use '' para "
+"indicar vacío"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consejo del día"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solo para pruebas unitarias: usar directorios de pruebas para proteger "
+#~ "los archivos reales del usuario"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Guardar opciones"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambiar idioma de la aplicación"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferencias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Escribir entradas de KConfig (para usar en guiones del intérprete de "
+#~ "órdenes)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. y Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Escribió kreadconfig, en el que se basa este programa"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/et/kconfig6_qt.po b/poqm/et/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..bcc01a2
--- /dev/null
@@ -0,0 +1,1289 @@
+# translation of kwriteconfig.po to Estonian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# Marek Laane <bald@starman.ee>, 2003,2007-2008, 2016, 2019, 2020.
+# Mihkel Tõnnov <mihhkel@gmail.com>, 2020, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-10-21 20:09+0200\n"
+"Last-Translator: Mihkel Tõnnov <mihhkel@gmail.com>\n"
+"Language-Team: Estonian <>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Palun võta ühendust süsteemiadministraatoriga."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Seadistusfaili \"%1\" ei saa kirjutada.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Vaikimisi"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Tagasi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Edasi"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Kodu"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Ava"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvesta"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvesta kui"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Taasta"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Sulge"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Trüki"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Trükkimise eelvaatlus"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Saada e-postiga"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Välju"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Rakenduse teave"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Võta tagasi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopeeri"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Aseta"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Puhasta"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vali kõik"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Tühista valik"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Otsi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Otsi järgmine"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Otsi eelmine"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Asenda"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Tegelik suurus"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Mahuta laiusele"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Mahuta kõrgusele"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Suurenda"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Vähenda"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Suurendus"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vali kõik"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Üles"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Tagasi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Edasi"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Lisa järjehoidja"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Muuda järjehoidjaid"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Õigekirja kontroll"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Täisekraanirežiim"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Tööriistaribade seadistamine"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Märguannete seadistamine"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Mis see on"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Saada veateade"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE teave"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE teave"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Kustuta"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Muuda nime"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Viska prügikasti"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Anneta"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ava"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Uus"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sulge"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvesta"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Trüki"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Välju"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Võta tagasi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Tee uuesti"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Lõika"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopeeri"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Aseta"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Aseta valik"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vali kõik"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Tühista valik"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Kustuta eelmine sõna"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Kustuta järgmine sõna"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Otsi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Otsi järgmine"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Otsi eelmine"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Asenda"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Kodu"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Algus"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Lõpp"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Eelmine"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Järgmine"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Üles"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tagasi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Edasi"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Laadi uuesti"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rea algus"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rea lõpp"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Mine reale"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Eelmine sõna"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Järgmine sõna"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lisa järjehoidja"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Suurenda"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Vähenda"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Täisekraanirežiim"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiveeri järgmine kaart"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiveeri eelmine kaart"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Abi"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mis see on"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstilõpetus"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Eelmine lõpetamise kokkulangevus"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Järgmine lõpetamise kokkulangevus"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Alamstringide lõpetamine"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Eelmine element nimekirjas"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Järgmine element nimekirjas"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvesta kui"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Taasta"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Trükkimise eelvaatlus"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Saada e-postiga"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Puhasta"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Tegelik suurus"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Mahuta laiusele"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Mahuta kõrgusele"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Suurendus"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Liikumine"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Eelmine dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Järgmine dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Muuda järjehoidjaid"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Õigekirja kontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kiirklahvid"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Rakenduse seadistamine"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Tööriistaribade seadistamine"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Märguannete seadistamine"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Saada veateade"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Rakenduse teave"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE teave"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Kustuta"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Muuda nime"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Viska prügikasti"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Anneta"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Peidetud failide näitamine/peitmine"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Loo kataloog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE kasutaja seadistusfailide uuendamise rakendus."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skripti väljundi tulemused säilitatakse"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontroll, kas seadistusfail ise vajab uuendamist"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Uuendamise instruktsioone sisaldav(ad) fail(id)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Kataloog, kus failid genereeritakse [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directory"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tarkvaralitsentsi näitamine."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Globaalse seadistuse asemel kasutatakse faili <file>"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Otsitav grupp. Juurgrupi jaoks anna \"<default>\", pesastatud gruppide puhul "
+"anna mitu korda."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Otsitav võti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Vaikeväärtus"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Muutuja tüüp"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupi nimi ei tohi tühi olla - kui soovid juurgruppi, anna \"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Muutuja tüüp. Kui on tõeväärtus, anna \"bool\", muidu käsitletakse stringina"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Lubamise korral määratud võtme kustutamine"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Kirjutatav väärtus. See on kohustuslik. Shellis kasuta tühja asemel ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Päeva nõuanne"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Ainult ühiktestideks: testkataloogide kasutamine kasutaja tegelike "
+#~ "failide puutumisest hoidumiseks"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvesta valikud"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Rakenduse keele vahetamine"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Eelistused"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfigi kirjete kirjutamine - kasutamiseks shelli skriptides"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001: Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Aluseks oleva kreadconfig'i kirjutaja"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/eu/kconfig6_qt.po b/poqm/eu/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..2bf6085
--- /dev/null
@@ -0,0 +1,1083 @@
+# Translation for kconfig5_qt.po to Euskara/Basque (eu).
+# Copyright (C) 2017-2024 This file is copyright:
+# This file is distributed under the same license as the original file.
+# SPDX-FileCopyrightText: 2023, 2024 KDE euskaratzeko proiektuko arduraduna <xalba@ni.eus>
+#
+# Translators:
+# Osoitz <oelkoro@gmail.com>, 2017.
+# Ander Elortondo <ander.elor@gmail.com>, 2017.
+# Iñigo Salvador Azurmendi <xalba@ni.eus>, 2017, 2018, 2019, 2020, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-07-15 23:38+0200\n"
+"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
+"Language-Team: Basque <kde-i18n-eu@kde.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.05.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Mesedez, Jarri zure sistemaren administratzailearekin harremanean."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "\"%1\" konfigurazio fitxategia ezin da idatzi.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Lehenetsia"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "At&zera"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Aurrera"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hasiera"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Berria"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Sortu dokumentu berria"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ireki..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ireki dagoen dokumentu bat"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ireki a&zken aldikoa"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ireki berriki ireki den dokumentu bat"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gorde"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gorde dokumentua"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gorde &honela..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Gorde dokumentua izen berri batekin"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Leheneratu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Leheneratu dokumentuari egindako gorde gabeko aldaketak"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Itxi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Itxi dokumentua"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "In&primatu..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Inprimatu dokumentua"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Inprimatze a&urreikuspegia..."
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Erakutsi dokumentuaren inprimaketa aurreikuspegi bat"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Posta..."
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Bidali dokumentua posta bidez"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Irten"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Irten aplikaziotik"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desegin"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desegin azken ekintza"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Berregin"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Berregin desegindako azken ekintza"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "E&baki"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Ebaki hautapena arbelera"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiatu"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiatu hautapena arbelean"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "I&tsatsi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Itsatsi arbeleko edukia"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Garbitu"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Hautatu den&a"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Deshautatu"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Aurkitu..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Aurkitu &hurrengoa"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Aurkitu &aurrekoa"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "O&rdeztu..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &benetako neurrira"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ikusi dokumentua bere egiazko neurrian"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Orrialdera e&gokitu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom egin orria leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Orri-zabalerara e&gokitu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom egin orriaren zabalera leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Orri-&luzeerara egokitu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom egin orriaren luzeera leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zooma &gerturatu"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zooma &urrundu"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zooma..."
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Hautatu zoom-maila"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Be&rritu"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Berritu dokumentua"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Gora"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Joan gora"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Aurreko orrialdea"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Joan aurreko orrialdera"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Hurrengo orrialdea"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Joan hurrengo orrialdera"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Joan..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Joan ...orrialdera"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Joan ...lerrora"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Lehen orrialdea"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Joan lehenengo orrialdera"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "A&zken orrialdea"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Joan azken orrialdera"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "At&zera"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Joan dokumentuan atzerantz"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Aurrera"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Joan dokumentuan aurrerantz"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Gehitu laster-marka"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editatu laster-markak..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Dokumentuan ortografia aztertu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Erakutsi &menu-barra"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Erakutsi edo ezkutatu menu-barra"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Erakutsi &tresna-barra"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Erakutsi edo ezkutatu tresna-barra"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Erakutsi egoer&a-barra"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Erakutsi edo ezkutatu egoera-barra"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Pantaila &osoko modua"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfiguratu teklatuko &lasterbideak..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfiguratu %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfiguratu tresna-&barrak..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfiguratu &jakinarazpenak..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &eskuliburua"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Zer da &hau?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Akats baten &berri eman…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfiguratu &hizkuntza..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1(e)ri &buruz"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDEri buruz"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "E&zabatu"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Be&rrizendatu..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Bota zakarrontzira"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Egin &dohaintza"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ireki &menua"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ireki"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Berria"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Itxi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gorde"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Inprimatu"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Irten"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desegin"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Berregin"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Ebaki"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiatu"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Itsatsi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Itsatsi hautapena"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Hautatu guztiak"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desautatu"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ezabatu hitz atzerantza"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ezabatu hitz aurrerantz"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Bilatu"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Bilatu hurrengoa"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Bilatu aurrekoa"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ordeztu"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hasiera"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Hasi"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Amaitu"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Aurrekoa"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Hurrengoa"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gora"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atzera"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Aurrera"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Birkargatu"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Lerroaren hasiera"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Lerroaren amaiera"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Joan lerrora"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Hitza atzerantz"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Hitza aurrerantz"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Gehitu laster-marka"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zooma handiagotu"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zooma txikiagotu"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Pantaila osoko modua"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Erakutsi menu-barra"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktibatu hurrengo fitxa"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktibatu aurreko fitxa"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Laguntza"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Zer da hau"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Testu-osaketa"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Aurreko osatze bat-etortzea"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Hurrengo osatze bat-etortzea"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Azpi-kateen osaketa"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Zerrendako aurreko elementua"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Zerrendako hurrengo elementua"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ireki oraintsukoa"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gorde honela"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Leheneratu"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Inprimatze-aurrebista"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Garbitu"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom benetako neurrira"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Doitu orriari"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Doitu zabalerara"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Doitu garaierara"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zooma"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Joan hona"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Joan orrira"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumentua atzera"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumentua aurrera"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editatu gogokoak"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Erakutsi tresna-barra"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Erakutsi egoera-barra"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tekla-konbinazioak"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfiguratu aplikazioa"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfiguratu tresna-barrak"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfiguratu jakinarazpenak"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Eman errorearen berri"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfiguratu hizkuntza..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Aplikazioari buruz"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDEri buruz"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Berrizendatu"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Bota zakarrontzira"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Egin dohaintza"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Erakutsi/ezkutatu ezkutuko fitxategiak"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Sortu karpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ireki menu nagusia"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Ireki testuinguru-menua"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Konfigurazio fitxategiak eguneratzeko KDE tresna"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantendu scriptaren irteera emaitzak"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Proba unitarioetarako bakarrik: ez idatzi egindako sarrerak, exekuzio berri "
+"bakoitzarekin gidoiak berriz exekutatu daitezen."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Egiaztatu ea konfigurazio fitxategiak bere burua eguneratzea eskatzen duen. "
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Eguneratzeko jarraibideak irakurtzeko fitxategia(k)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fitxategiak sortzeko direktorioa [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorioa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Bistaratu software-lizentzia"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Erabili <file>, konfigurazio globalaren ordez"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Begiratu beharreko taldea. root talderako \"<lenenetsia>\" erabili, edo "
+"habiaratutako taldeetarako behin eta berriz erabili."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Bilatu beharreko gakoa"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Balio lehenetsia"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Aldagai mota"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Talde-izena ezin da hutsik egon, erabili \"<lehenetsia>\" root talderako"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Aldagai mota. Erabili \"bool\" aldagai boolearrentzat; bestela, kate gisa "
+"tratatuko da"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ezabatu izendatutako gakoa aktibo egonez gero"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Idatzi beharreko balioa. Derrigorrezkoa da. Shell-etan, erabili '' hutsik "
+"uzteko"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Eguneko aholkua"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Unitate probatarako bakarrik: erabili proba karpetak salbu mantentzeko "
+#~ "erabiltzailearen fitxategi errealak."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gorde aukerak"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Aldatu aplikazioaren hizkuntza"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Hobespenak"
diff --git a/poqm/fa/kconfig6_qt.po b/poqm/fa/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..3af683b
--- /dev/null
@@ -0,0 +1,1097 @@
+# translation of kwriteconfig.po to Persian
+# Nazanin Kazemi <kazemi@itland.ir>, 2006.
+# MaryamSadat Razavi <razavi@itland.ir>, 2006.
+# Nasim Daniarzadeh <daniarzadeh@itland.ir>, 2006.
+# Mohamad Reza Mirdamadi <mohi@linuxshop.ir>, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2011-09-25 19:57+0330\n"
+"Last-Translator: Mohamad Reza Mirdamadi <mohi@linuxshop.ir>\n"
+"Language-Team: Farsi (Persian) <>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=2; plural=(n==0 || n==1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "استفاده از <file> به جای پیکربندی سراسری"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Group to look in. Use repeatedly for nested groups."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "کلید برای جستجو"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"نوع متغیر. از «bool» برای مقدار بولی استفاده کنید. در غیر این صورت، به عنوان "
+"یک رشته تلقی می‌شود"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "مقدار برای نوشتن. الزامی است که در پوسته، برای خالی از » استفاده کنید"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "نوشتن مدخلهای KConfig - برای استفاده در دست‌نوشته‌های پوسته"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(ح) ۲۰۰۱ شرکت Red Hat و Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig را نوشت که این بر اساس آن است"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "نازنین کاظمی"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kazemi@itland.ir"
diff --git a/poqm/fi/kconfig6_qt.po b/poqm/fi/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..09e425c
--- /dev/null
@@ -0,0 +1,1094 @@
+# SPDX-FileCopyrightText: 2018, 2020, 2022, 2023, 2024 Tommi Nieminen <translator@legisign.org>
+# Lasse Liehu <lasse.liehu@gmail.com>, 2014, 2015, 2016, 2017.
+# SPDX-FileCopyrightText: 2024 Lasse Liehu-Inui <lasse.liehu@iki.fi>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-29 22:42+0200\n"
+"Last-Translator: Lasse Liehu-Inui <lasse.liehu@iki.fi>\n"
+"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.12.0\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ota yhteyttä järjestelmän ylläpitäjääsi."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Asetustiedostoon ”%1” ei voi kirjoittaa.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Oletus"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Takaisin"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Eteenpäin"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Koti"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Uusi"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Luo uusi tiedosto"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Avaa…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Avaa olemassa oleva tiedosto"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Avaa &viimeaikainen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Avaa äskettäin avattu tiedosto"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Tallenna"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Tallenna tiedosto"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Tallenna &nimellä…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Tallenna tiedosto uudelle nimelle"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Palauta"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Peru tiedoston tallentamattomat muutokset"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Sulje"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Sulje tiedosto"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tu&losta…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Tulosta tiedosto"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Tulostus&esikatselu"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Näytä tiedoston tulostusesikatselu"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "S&ähköpostita…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Lähetä tiedosto sähköpostitse"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "L&opeta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Lopeta sovellus"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "K&umoa"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Kumoa viimeisin toiminto"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Tee uu&delleen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Tee viimeisin kumottu toiminto uudelleen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Leikkaa"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Leikkaa valinta leikepöydälle"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopioi"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopioi valinta leikepöydälle"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "L&iitä"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Liitä leikepöydän sisältö"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "T&yhjennä"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "V&alitse kaikki"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Poista valinta"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Etsi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Etsi &seuraava"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Etsi e&dellinen"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ko&rvaa…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Lähennä &todelliseen kokoon"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Näytä tiedosto todellisessa koossaan"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Sovita sivulle"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Sovita sivu ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Sovita sivun &leveyteen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Sovita sivun leveys ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Sovita sivun &korkeuteen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Sovita sivun korkeus ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "L&ähennä"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "L&oitonna"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "L&ähennä…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Valitse lähennystaso"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Virkistä"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Virkistä tiedosto"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Ylemmäs"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Siirry ylös"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "E&dellinen sivu"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Siirry edelliselle sivulle"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "S&euraavalle sivulle"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Siirry seuraavalle sivulle"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Siirry…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "S&iirry sivulle…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Siirry ri&ville…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Ensimmäiselle sivulle"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Siirry ensimmäiselle sivulle"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Viimeiselle sivulle"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Siirry viimeiselle sivulle"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Takaisin"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Siirry tiedostossa taaksepäin"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Eteenpäin"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Siirry tiedostossa eteenpäin"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "L&isää kirjanmerkki"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Muokkaa kirjanmerkkejä…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Oikeinkirjoitus…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Tarkista tiedoston oikeinkirjoitus"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Näytä &valikkorivi"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Näytä tai piilota valikkorivi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Näytä t&yökalurivi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Näytä tai piilota työkalurivi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Näytä t&ilarivi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Näytä tai piilota tilarivi"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "K&oko näytön tila"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "&Pikanäppäinasetukset…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Asetukset – %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "T&yökalurivien asetukset…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Ilmoitusasetukset…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-käyttö&ohje"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Mikä tämä on?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Ilmoita viasta…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Kieliasetukset…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Tietoa: %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Tietoa KDE:stä"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Poista"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Muuta nimeä…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Siirrä &roskakoriin"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Lah&joita"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "A&vaa valikko"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Avaa"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Uusi"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sulje"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Tallenna"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tulosta"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Lopeta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Kumoa"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Tee uudelleen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Leikkaa"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopioi"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Liitä"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Liitä valinta"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Valitse kaikki"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poista valinta"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Poista edellinen sana"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Poista seuraava sana"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Etsi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Etsi seuraava"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Etsi edellinen"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Korvaa"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Koti"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Alku"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Loppu"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Edellinen"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seuraava"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Ylös"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Takaisin"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Eteenpäin"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Lataa uudelleen"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rivin alku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rivin loppu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Siirry riville"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Edellinen sana"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Seuraava sana"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lisää kirjanmerkki"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Lähennä"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Loitonna"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Koko näytön tila"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Näytä valikkorivi"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivoi seuraava välilehti"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivoi edellinen välilehti"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ohje"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mikä tämä on"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstin täydennys"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Edellinen täydennysosuma"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Seuraava täydennysosuma"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Osamerkkijonon täydennys"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Edellinen kohta luettelossa"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Seuraava kohta luettelossa"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Avaa viimeaikainen"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Tallenna nimellä"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Palauta"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Tulostuksen esikatselu"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Sähköpostita"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tyhjennä"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Lähennä todelliseen kokoon"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Sovita sivulle"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Sovita leveyteen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Sovita korkeuteen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Lähennä"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Siirry"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Siirry sivulle"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Tiedosto taaksepäin"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Tiedosto eteenpäin"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Muokkaa kirjanmerkkejä"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Oikeinkirjoitus"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Näytä työkalurivi"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Näytä tilarivi"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Näppäinyhdistelmät"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Sovelluksen asetukset"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Muokkaa työkalurivejä"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Muokkaa ilmoituksia"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Ilmoita viasta"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "&Kieliasetukset…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tietoa ohjelmasta"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Tietoa KDE:stä"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Poista"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Muuta nimeä"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Siirrä roskakoriin"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Lahjoita"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Näytä tai piilota piilotiedostot"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Luo kansio"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Avaa päävalikko"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Avaa kontekstivalikko"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-työkalu käyttäjän asetustiedostojen päivittämiseen"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Säilytä skriptien tulosteet"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Vain yksikkötesteille: älä kirjoita valmiita tietueita, jotta skriptit "
+"suoritetaan joka ajossa uudelleen"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Tarkista, tarvitseeko itse asetustiedosto päivitystä"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Tiedostot, joista päivitysohjeet luetaan"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "hakemisto, johon tiedostot luodaan [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "hakemisto"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Näytä ohjelmiston lisenssi."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Käytä <tiedostoa> järjestelmänlaajuisten asetusten sijasta"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Ryhmä, josta etsitään. Juuriryhmälle ”<default>” tai käytä sisäkkäisiä "
+"ryhmiä toistuvasti."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Etsittävä arvo"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Oletusarvo"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Muuttujan tyyppi"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Ryhmän nimi ei voi olla tyhjä; käytä juuriryhmälle ”<default>”"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Muuttujan tyyppi. ”bool” Boolen arvoille. Muutoin tämä tulkitaan "
+"merkkijonoksi"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Poista kytketty näppäin, jos käytössä"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Kirjoitettava arvo. Pakollinen. Komentotulkissa tyhjä arvo kirjoitetaan ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Päivän vinkki"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Vain yksikkötestejä varten: käytä testikansioita käyttäjän oikeiden "
+#~ "tiedostojen sijaan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Tallenna asetukset"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Vaihda kieltä"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Asetukset"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Kirjoita KConfig-tietueet - käytettäväksi komentotulkkiskripteissä"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. ja Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Kirjoitti kreadconfig-ohjelman, johon tämä pohjautuu"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/fr/kconfig6_qt.po b/poqm/fr/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..a6d0df6
--- /dev/null
@@ -0,0 +1,1115 @@
+# translation of kwriteconfig.po to Français
+# translation of kwriteconfig.po to
+# traduction de kwriteconfig.po en Français
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+# Charles de Miramon <cmiramon@kde-france.org>, 2003.
+# Delafond <gerard@delafond.org>, 2003.
+# J. Cornavin <jcornavi@club-internet.fr>, 2007.
+# Sébastien Renard <Sebastien.Renard@digitalfox.org>, 2008.
+# Joëlle Cornavin <jcornavi@club-internet.fr>, 2008.
+# SPDX-FileCopyrightText: 2013, 2024 Xavier Besnard <xavier.besnard@kde.org>
+# Maxime Corteel <mcorteel@gmail.com>, 2014, 2015.
+# Vincent Pinon <vpinon@kde.org>, 2016, 2017.
+# Simon Depiets <sdepiets@gmail.com>, 2018, 2020.
+# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023 Xavier Besnard <xavier.besnard@kde.org>
+# Xavier Besnard <xavier.besnard@kde.org>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-23 11:22+0200\n"
+"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
+"Language-Team: French <French <kde-francophone@kde.org>>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Accelerator-Marker: &\n"
+"X-Environment: kde\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+"X-Text-Markup: qtrich\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Veuillez contacter l'administrateur du système."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Impossible d'écrire dans le fichier de configuration « %1 ».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Par défaut"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Re&venir en arrière"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Suivant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "A&ccueil"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nouveau"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Créer un nouveau document"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ouvrir..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ouvrir un document existant"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ouvrir un fichier &récent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ouvrir un document récemment ouvert"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Enregi&strer"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Enregistrer le document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "&Enregistrer sous"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Enregistrer le document sous un nouveau nom"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Annu&ler"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Annuler les modifications non enregistrées apportées au document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Fermer"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Fermer un document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primer"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimer un document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Aperçu ava&nt impression"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Afficher un aperçu avant impression du document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Envoyer par &courriel…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envoie un document par courriel"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quitter"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quitter l'application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&uler"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annuler la dernière action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&faire"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refaire la dernière action annulée"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cou&per"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Couper la sélection vers le presse-papier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copier la sélection dans le presse-papier"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Co&ller"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Coller le contenu du presse-papier"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "E&ffacer"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "T&out sélectionner"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dé-sé&lectionner"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trouver..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trouver l'occurre&nce suivante"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Trou&ver l'occurrence précédente"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Remplacer..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoomer jusqu'à la taille &actuelle"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Afficher le document dans sa taille courante"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&juster à la taille de la page"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoomer pour ajuster la page à la fenêtre"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajuster à la lar&geur de la page"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoomer pour adapter la largeur de page à la fenêtre"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajuster à la &hauteur de la page"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoomer pour adapter la hauteur de page à la fenêtre"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Agrand&ir"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Z&oomer en arrière"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoomer…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Sélectionner le niveau de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Rafraîchir"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Rafraîchir le document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Ha&ut"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Monter"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Page précédente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Se déplacer à la page précédente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Page suiva&nte"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Se déplacer à la page suivante"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Se dé&placer vers..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Se déplacer vers une pa&ge..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Se déplacer vers une li&gne..."
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Première page"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Se déplacer à la première page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Dernière page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Se déplacer à la dernière page"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Re&venir en arrière"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Se déplacer en arrière dans le document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Sui&vant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Se déplacer en avant dans le document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Ajouter un signet"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Édit&er les signets..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Vérification orthographique…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Vérifier l'orthographe dans le document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Afficher la barre de &menus"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Afficher ou masquer la barre de menus"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Afficher la barre d'ou&tils"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Afficher ou masquer la barre d'outils"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Afficher la b&arre d'état"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Afficher ou masquer la barre d'état"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "M&ode plein écran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gurer les raccourcis de clavier…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurer %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurer les &barres d'outils"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurer les &notifications..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manuel utilisateur de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Qu'est-ce que c'es&t ?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Signale&r un bogue..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurer &la langue..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&À propos de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "À propos de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Supprimer"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renommer..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Dé&placer dans la corbeille"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Effectuer un &don"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ouvrir le &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ouvrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nouveau"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fermer"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Enregistrer"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimer"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quitter"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annuler"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refaire"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Couper"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Coller"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Coller la sélection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tout sélectionner"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Désélectionner"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Supprimer un mot vers l'arrière"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Supprimer un mot vers l'avant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trouver"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trouver l'occurrence suivante"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trouver l'occurrence précédente"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Remplacer"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Accueil"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Début"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Précédent"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Suivant"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Haut"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Revenir en arrière"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Suivant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recharger"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Début de la ligne"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de la ligne"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Aller à la ligne"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Passer un mot vers l'arrière"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Passer un mot vers l'avant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Ajouter un signet"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Agrandir"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Rétrécir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode plein écran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Afficher la barre de menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activer l'onglet suivant"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activer l'onglet précédent"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Aide"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Qu'est-ce que c'est ?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Complètement du texte"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Proposition de complètement précédente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Proposition de complètement suivante"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Complètement partiel"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Élément précédent de la liste"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Élément suivant de la liste"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ouvrir un fichier récent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Enregistrer sous"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revenir"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Aperçu avant impression"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Courriel"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Effacer"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoomer jusqu'à la taille actuelle"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajuster à la taille de la page"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajuster à la largeur de la page"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajuster à la hauteur de la page"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Agrandir"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Aller à"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Aller à la page"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Reculer dans le document"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avancer dans le document"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Éditer les signets"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Orthographe"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Afficher la barre d'outil"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Afficher la barre d'état"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Raccourcis clavier"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurer l'application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurer les barres d'outil"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurer les notifications"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapport de bogue"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurer votre langue..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "À propos de l'application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "À propos de KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Supprimer"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renommer"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Déplacer dans la corbeille"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Faire un don pour le projet"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Afficher / Masquer les fichiers cachés"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Créer un dossier"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ouvrir le menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Ouvrir le menu contextuel"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Outil de KDE pour l'édition des fichiers de configuration"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserver le résultat de la sortie des scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Pour les tests unitaires uniquement : ne pas écrire les entrées terminées, "
+"de sorte qu'à chaque nouvelle exécution, les scripts sont lancés à nouveau."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Vérifier si le fichier de configuration nécessite lui-même une mise à jour"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fichier(s) à partir desquels lire les instructions de mise à jour"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dossier de génération des fichiers [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dossier"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Afficher la licence du logiciel."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utiliser <fichier> au lieu de la configuration globale"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groupe à examiner. Veuillez utiliser « <default> » pour le groupe "
+"d'administrateur ou utiliser de façon répétitive pour les groupes imbriqués."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clé à chercher"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valeur par défaut"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Le nom de groupe ne peut être vide. Veuillez utiliser « <default> » pour le "
+"groupe d'administrateur"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Type de la variable. Utiliser « bool » pour une variable booléenne, sinon "
+"elle sera considérée comme une chaîne"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Supprimer la clé désignée si activé"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"La valeur à écrire. Elle est obligatoire. Dans le shell, utilisez un "
+"guillemet double, pour représenter une valeur vide"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Astuce du jour"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Pour les tests unitaires seulement : utiliser des dossiers de test pour "
+#~ "éviter les vrais fichiers utilisateur"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Enregistrer les options"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Changer la langue de l'application"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Préférences"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Écrire des éléments pour KConfig - à utiliser dans des scripts shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Écriture du « kreadconfig » pour cette application"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/fy/kconfig6_qt.po b/poqm/fy/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7906407
--- /dev/null
@@ -0,0 +1,1077 @@
+# translation of kwriteconfig.po to Frysk
+#
+# Rinse de Vries <rinsedevries@kde.nl>, 2005, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-12-13 00:11+0100\n"
+"Last-Translator: Berend Ytsma <berendy@gmail.com>\n"
+"Language-Team: Frysk <kde-i18n-fry@kde.org>\n"
+"Language: fy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<triem> brûke yn plak fan globale konfiguraasje"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Groep om yn te sjen. Brûk dit stees opnij foar ynsletten groepen."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Term om nei te sykjen"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Fariabeletype. Brûk \"bool\" foar in boleaanske wearde, oars wurd dit "
+"behannele as in tekenrige."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "De wearde om te skriuwen. Brûk op in shell altyd '' foar leech."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriuw KConfig-yngongen - foar brûk fan yn shell-scripts."
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hat kreadconfig skreaun wêrop dit bassearre is"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ga/kconfig6_qt.po b/poqm/ga/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1f82c18
--- /dev/null
@@ -0,0 +1,1097 @@
+# Irish translation of kwriteconfig
+# Copyright (C) 2009 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kwriteconfig package.
+# Kevin Scannell <kscanne@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase/kwriteconfig.po\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2004-12-03 14:52-0500\n"
+"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
+"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? "
+"3 : 4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Úsáid <comhad> in ionad na cumraíochta comhchoitinne"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grúpa le cuardach.  Úsáid arís agus arís eile le haghaidh grúpaí neadaithe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Eochair le lorg"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Cineál na hathróige. Úsáid \"bool\" le haghaidh athróige Boole, i ngach cás "
+"eile is teaghrán é"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Luach le scríobh.  Riachtanach, i mblaosc úsáid '' do theaghrán folamh"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Scríobh iontrálacha KConfig - le haghaidh scripteanna blaoisce"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. agus Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Údar kreadconfig, ar ar bunaíodh an clár seo"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Séamus Ó Ciardhuáin,Kevin Scannell"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "seoc@iolfree.ie,kscanne@gmail.com"
diff --git a/poqm/gd/kconfig6_qt.po b/poqm/gd/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..462b774
--- /dev/null
@@ -0,0 +1,1258 @@
+# GunChleoc <fios@foramnagaidhlig.net>, 2014, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2015-11-04 15:11+0000\n"
+"Last-Translator: Michael Bauer <fios@akerbeltz.org>\n"
+"Language-Team: Fòram na Gàidhlig\n"
+"Language: gd\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
+"(n > 2 && n < 20) ? 2 : 3;\n"
+"X-Generator: Poedit 1.8.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Cuir fios gu rianaire an t-siostaim agad."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Cha ghabh sgrìobhadh san fhaidhle rèiteachaidh \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Tùsail"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Air ais"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Dhachaigh"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Fosgail"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sàbhail"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sàbhail mar"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Till"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Dùin"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Clò-bhuail"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Ro-shealladh a' chlò-bhualaidh"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Cuir air a' phost-d"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Fàg an-seo"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Mun aplacaid seo"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Neo-dhèan"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Dèan lethbhreac"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Cuir ann"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Falamhaich"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Neo-thagh"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Lorg"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Lorg an ath fhear"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Lorg am fear roimhe"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Cuir 'na àite"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "An dearbh mheud"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Co-fhreagair ris an leud"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Co-fhreagair ris an àirde"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Sùm a-steach"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Sùm a-mach"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Sùm"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Suas"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Air ais"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Cuir comharra-leabhair ris"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Deasaich na comharran-leabhair"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Dearbhadh an litreachaidh"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modh làn-sgrìn"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Rèitich na bàraichean-inneal"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Dè th' ann?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Dèan aithris air buga"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Mu KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Mu KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Fosgail"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ùr"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Dùin"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sàbhail"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Clò-bhuail"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Fàg an-seo"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Neo-dhèan"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ath-dhèan"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Gearr às"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Dèan lethbhreac"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Cuir ann"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Cuir ann na thagh thu"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Neo-thagh"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Sguab às facal roimhe"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Sguab às facal às a dhèidh"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Lorg"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Lorg an ath fhear"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Lorg am fear roimhe"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Cuir 'na àite"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Dhachaigh"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "An toiseach"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "An deireadh"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "An nì roimhe"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "An ath nì"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Suas"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Air ais"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ath-luchdaich"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Toiseach na loidhne"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Deireadh na loidhne"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Facal air ais"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Facal air adhart"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Cuir comharra-leabhair ris"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Sùm a-steach"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Sùm a-mach"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modh làn-sgrìn"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gnìomhaich an ath thaba"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gnìomhaich an taba roimhe"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Cobhair"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Dè th' ann?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Coileanadh teacsa"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Am maidse roimhe"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "An ath mhaidse"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Coileanadh fo-shreinge"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "An nì roimhe air an liosta"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "An ath nì air an liosta"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sàbhail mar"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Till"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Ro-shealladh a' chlò-bhualaidh"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Cuir air a' phost-d"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Falamhaich"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "An dearbh mheud"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Co-fhreagair ris an leud"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Co-fhreagair ris an àirde"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Sùm"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Rach gu"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "An sgrìobhainn roimhpe"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "An ath sgrìobhainn"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Deasaich na comharran-leabhair"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Dearbhadh an litreachaidh"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Nasgadh nan iuchraichean"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Rèitich na bàraichean-inneal"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Dèan aithris air buga"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Mun aplacaid seo"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Mu KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Inneal KDE gus faidhlichean rèiteachaidh a' chleachdaiche ùrachadh"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Cum toraidhean às-chuir o sgriobtaichean"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Thoir sùil a bheil am faidhle rèiteachaidh fhèin feumach air ùrachadh"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Faidhle/Faidhlichean gus stiùireadh an ùrachaidh a leughadh uapa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Am pasgan sa thèid na faidhlichean a ghintinn ann [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasgan"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Seall ceadachas a' bhathair-bhog"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Cleachd <file> an àite an rèiteachaidh uile-choitchinn"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Am buidheann sa thèid a lorg. Cleachd iomadh turas airson bhuidhnean "
+"neadaichte."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "An iuchair a thèid a shireadh"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "An luach tùsail"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Seòrsa a' chaochladair"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Seòrsa a' chaochladair. Cleachd \"bool\" airson booleach air neo thèid "
+"dèiligeadh ris mar shreang."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"An luach a thèid a sgrìobhadh. Tha seo riatanach, cleachd '' air shell "
+"airson luach falamh."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Gliocas an latha"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Airson unit tests a-mhàin: cleachd pasganan deuchainne gus cumail air "
+#~ "falbh o dhearbh-fhaidhlichean a' chleachdaiche"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sàbhail na roghainnean"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Atharraich cànan na h-aplacaid"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Roghainnean"
diff --git a/poqm/gl/kconfig6_qt.po b/poqm/gl/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..e0da2b2
--- /dev/null
@@ -0,0 +1,1105 @@
+# translation of kwriteconfig.po to galician
+# Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Littleagle Thoronaug <thoronaug@yahoo.es>, 2004.
+# mvillarino <mvillarino@users.sourceforge.net>, 2007, 2008, 2009.
+# marce villarino <mvillarino@users.sourceforge.net>, 2009.
+# Marce Villarino <mvillarino@gmail.com>, 2009, 2014.
+# Adrián Chaves Fernández <adriyetichaves@gmail.com>, 2015, 2017.
+# SPDX-FileCopyrightText: 2023, 2024 Adrián Chaves (Gallaecio)
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-25 09:57+0200\n"
+"Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.io>\n"
+"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacte co equipo administrador do sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "O ficheiro de configuración «%1» non permite escritura.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predeterminado"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atrás"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&diante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inicio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Novo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crear un novo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Abrir…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Abrir un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir un &recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Abrir un documento aberto recentemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gardar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gardar o documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gardar &como…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Garda o documento con outro nome"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Anula os cambios non gardados que fixese no documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Pechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Pechar o documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Imprimir…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimir o documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista de impresión"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra unha vista previa do documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correo…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Enviar o documento por correo electrónico"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Saír"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Saír da aplicación"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfacer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfacer a última acción"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&facer"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refacer a última acción desfeita"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cor&tar"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Corta a selección e pona no portapapeis"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copiar a selección no portapapeis"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Pegar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pegar o contido do portapapeis"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Baleirar"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleccion&alo todo"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Anular a se&lección"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Atopar…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Atopar a &seguinte"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Atopar a &anterior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Substituír…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Ampliar ao tamaño real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ver o documento co tamaño real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Axustar á páxina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Axustar o tamaño da páxina ao da xanela"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Axustar á a&nchura da páxina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Axustar a anchura da páxina á da xanela"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Axustar á &altura da páxina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Axustar a altura da páxina á da xanela"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampl&iar"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Re&ducir"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Ampliación…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar o nivel de ampliación"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Actualizar"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualizar o documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Subir"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Páxina &anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ir á páxina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Segui&nte páxina"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir á seguinte páxina"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ir a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ir á páxina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ir á liña…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Primeira páxina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir á primeira páxina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Última pá&xina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ir á última páxina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atrás"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Retroceder no documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vanzar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanzar no documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Eng&adir un marcador"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editar os marcadores…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografía…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Comprobar a ortografía do documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Amosar a barra de &menú"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Amosar ou agochar a barra de menú"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Amosar a barra de &ferramentas"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Amosar ou agochar a barra de ferramentas"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Amosar a barra de &estado"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Amosar ou agochar a barra de estado"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo a pantalla &completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gurar os atallos de teclado…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configurar %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar as &barras de ferramentas…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar as &notificacións…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Que é &isto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Informar dun &fallo…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar o &idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Sobre %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Sobre &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Eliminar"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomear…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Botar no lixo"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doar"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abre o &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Pechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gardar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Saír"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfacer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refacer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Pegar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Pegar a selección"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Anular a selección"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Eliminar unha palabra cara atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Eliminar unha palabra cara diante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Atopar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Atopar a seguinte"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Atopar a anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituír"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inicio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comezo"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Final"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seguinte"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Subir"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atrás"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avanzar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recargar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Inicio da liña"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin da liña"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir á liña"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palabra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Seguinte palabra"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Engadir un marcador"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reducir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo a pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Amosar a barra de menú"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar a seguinte lapela"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar a lapela anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Axuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Que é isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completación de textos"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Anterior coincidencia de completación"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Seguinte coincidencia de completación"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completación de subcadeas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Anterior elemento da lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Seguinte elemento da lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir un recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gardar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista de impresión"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correo"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar ao tamaño real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Axustar á páxina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Axustar á anchura da páxina"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Axustar ao alto da páxina"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliación"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir á páxina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Retroceder no documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avanzar no documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar os marcadores"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografía"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Amosar a barra de ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Amosar a barra de estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asociacións de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar a aplicación"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar as barras de ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar as notificacións"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informar dun fallo"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar o idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Sobre a aplicación"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Sobre KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Eliminar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomear"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Botar no lixo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Amosar ou agochar os ficheiros agochados"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crear un cartafol"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir o menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir o menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Ferramenta de KDE para actualizar os ficheiros de configuración da persoa "
+"usuaria."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conservar a saída dos guións"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Só para probas unitarias: non escribir as entradas feitas, para que os "
+"guións se executen de novo cada vez"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comprobar se o ficheiro de configuración precisa actualizarse"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Ficheiros dos que ler as instrucións de actualización."
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "O cartafol no que xerar os ficheiros [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "cartafol"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Amosa a licenza do soporte lóxico."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <file> en troques da configuración global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"O grupo no que buscar. Use «<predeterminado>» para o grupo raíz, ou úseo "
+"repetidamente para grupos aniñados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "A chave que se ha buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predeterminado"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variábel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome de grupo non pode estar baleiro, use «<predeterminado>» para o grupo "
+"raíz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo da variábel. Use «bool» para un booleano, se non, é tratado como unha "
+"cadea"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Eliminar a tecla designada se escolle esta opción."
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"O valor para escribir. Obrigatorio, use '' nun intérprete de ordes para "
+"deixalo baleiro."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consello do día"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Só para probas unitarias: usar directorios de proba para evitar os "
+#~ "ficheiros reais do usuario."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opcións de garda"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambiar o idioma da aplicación"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferencias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Escribe entradas KConfig, para uso en scripts da shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Escribiu kreadconfig no que nos baseamos para este programa"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/gu/kconfig6_qt.po b/poqm/gu/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..e532886
--- /dev/null
@@ -0,0 +1,1077 @@
+# translation of kwriteconfig.po to Gujarati
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sweta Kothari <swkothar@redhat.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-16 14:06+0530\n"
+"Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
+"Language-Team: Gujarati\n"
+"Language: gu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "વૈશ્વીક રૂપરેખાંકનને બદલ <file> વાપરો"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "શોધવા માટેનો સમૂહ. વણાયેલ સમૂહો માટે વારંવાર વાપરો."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "શોધવા માટેની કળ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ચલનો પ્રકાર. બુલિયન માટે \"bool\" વાપરો, અથવા તે સ્ટ્રિંગ તરીકે જોવામાં આવશે"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "લખવાની કિંમત. ખાલી માટે \" શૅલ વપરાશ પર, જરૂરી"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig દાખલાઓ લખો - શૅલ સ્ક્રિપ્ટ્સમાં ઉપયોગ માટે"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) ૨૦૦૧ રેડ હેટ, ઇન્ક. અને લુઇસ પેડ્રો કોએલ્હો"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig લખ્યું જેના પર આ આધારિત છે "
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "લુઇસ પેડ્રો કોએલ્હો"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "બર્નહાર્ડ રોસેનક્રેન્ઝર"
diff --git a/poqm/he/kconfig6_qt.po b/poqm/he/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..e6756d2
--- /dev/null
@@ -0,0 +1,1061 @@
+# translation of kwriteconfig.po to hebrew
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Dror Levin <spatz@012.net.il>, 2003.
+# Shlomi Loubaton <shlomil@hotmail.com>, 2003.
+# tahmar1900 <tahmar1900@gmail.com>, 2008.
+# Diego Iastrubni <elcuco@kde.org>, 2008, 2012.
+# Elkana Bardugo <ttv200@gmail.com>, 2017. #zanata
+# SPDX-FileCopyrightText: 2023, 2024 Yaron Shahrabani <sh.yaron@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2024-05-22 06:40+0300\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"Language-Team: צוות התרגום של KDE ישראל\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
+"n % 10 == 0) ? 2 : 3));\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "נא ליצור קשר עם הנהלת המערכת שלך."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "קובץ ההגדרות „%1” נעול לכתיבה.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ברירת מחדל"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&אחורה"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&קדימה"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&בית"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&חדש"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "יצירת מסמך חדש"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&פתיחה…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "פתיחת מסמך קיים"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "פ&תיחת האחרונים"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "פתיחת מסמך שהיה בשימוש לאחרונה"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&שמירה"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "שמירת המסמך"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "שמירה &בשם…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "שמירת המסמך בשם חדש"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "שח&זור"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "הסגת שינויים שנערכו במסמך"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&סגירה"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "סגירת המסמך"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ה&דפסה…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "הדפסת המסמך"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "הצגה מקדימה להד&פסה"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "הצגת תצוגה מקדימה להדפסת המסמך"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "דוא״&ל…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "שליחת המסמך בדוא״ל"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "י&ציאה"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "יציאה מהיישום"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ה&סגה"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "הסגת הפעולה האחרונה"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "ביצוע מ&חדש"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "ביצוע הפעולה שהוסגה מחדש"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&גזירה"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "גזירת הבחירה ללוח הגזירים"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ה&עתקה"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "העתקת הבחירה ללוח הגזירים"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "ה&דבקה"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "הדבקת תוכן לוח הגזירים"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&ניקוי"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "בחירה בה&כול"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "בי&טול בחירה"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&איתור…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "איתור ה&בא"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "איתור ה&קודם"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ה&חלפה…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "תקריב ל&גודל המקורי"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "הצגת המסמך בגודל האמיתי שלו"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "התאמה ל&עמוד"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "התאמת גודל המסמך לגודל החלון"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "התאמה ל&רוחב העמוד"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "לכוון את המרחק מהמסמך כדי שיופיע לכל רוחבו של החלון"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "התאמה ל&גובה העמוד"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "לכוון את המרחק מהמסמך כדי שיופיע לכל אורכו של החלון"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "הת&קרבות"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "הת&רחקות"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&תקריב…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "בחירת מרחק התקריב"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&רענון"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "רענון המסמך"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "למ&עלה"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "עלייה למעלה"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "העמוד ה&קודם"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "מעבר לעמוד הקודם"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "העמוד ה&בא"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "מעבר לעמוד הבא"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "מ&עבר אל…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "מ&עבר לעמוד…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "מעבר ל&שורה…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "העמוד ה&ראשון"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "מעבר לעמוד הראשון"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "העמוד ה&אחרון"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "מעבר לעמוד הקודם"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "א&חורה"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "חזרה במסמך"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ק&דימה"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "התקדמות במסמך"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "הוספת &סימנייה"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&עריכת סימניות…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&איות…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "בדיקת איות המסמך"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "הצגת &סרגל תפריטים"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "הצגת או הסתרת סרגל תפריטים"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "הצגת סרגל &כלים"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "הצגת או הסתרת סרגל כלים"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "הצגת &שורת מצב"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "הצגת או הסתרת שורת מצב"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "מצב מסך מ&לא"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "הגדרת קיצורי מ&קלדת…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ה&גדרת %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "הגדרת ס&רגלי כלים…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "הגדרת ה&תראות…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&ספרון ההדרכה של %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "מה &זה?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "דיווח על &תקלה…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "הגדרת &שפה…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&על %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&על KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "מ&חיקה"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&שינוי שם…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "העברה ל&אשפה"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&תרומה"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&פתיחת תפריט"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "פתיחה"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "חדש"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "סגירה"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "שמירה"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "הדפסה"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "יציאה"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "החזרה"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ביצוע חוזר"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "גזירה"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "העתקה"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "הדבקה"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "הדבקת בחירה"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "בחירה בהכול"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "ביטול בחירה"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "מחיקת מילים אחורה"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "מחיקת מילים קדימה"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "איתור"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "איתור הבא"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "איתור הקודם"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "החלפה"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "בית"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "התחלה"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "סיום"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "קודם"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "הבא"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "למעלה"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "חזרה"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "קדימה"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "רענון"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "התחלת השורה"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "סוף השורה"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "מעבר לשורה"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "מילה אחורה"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "מילה קדימה"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "הוספת סימנייה"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "התקרבות"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "התרחקות"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "מצב מסך מלא"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "הצגת סרגל תפריטים"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "הפעלת הלשונית הבאה"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "הפעלת הלשונית הקודמת"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "עזרה"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "מה זה"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "השלמת טקסט"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "התאמת ההשלמה הקודמת"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "התאמת ההשלמה הבאה"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "השלמת תת־מחרוזת"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "הפריט הקודם ברשימה"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "הפריט הבא ברשימה"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "פתיחת האחרונים"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "שמירה בשם"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "שחזור"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "הצגה מקדימה להדפסה"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "דואר"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "פינוי"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "תקריב מקורי"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "התאמה לעמוד"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "התאמה לרוחב"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "התאמה לגובה"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "תקריב"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "קפיצה"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "קפיצה לעמוד"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "מסמך אחורה"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "מסמך קדימה"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "עריכת סימניות"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "איות"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "הצגת סרגל כלים"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "הצגת סרגל מצב"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "איגוד מקשים"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "הגדרת יישום"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "הגדרת סרגלי כלים"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "הגדרת התראות"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "דיווח על תקלה"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "הגדרת שפה…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "על היישום"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "על KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "מחיקה"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "שינוי שם"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "העברה לאשפה"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "תרומה"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "הצגת/הסתרת קבצים מוסתרים"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "יצירת תיקייה"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "פתיחת התפריט הראשי"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "פתיחת תפריט ההקשר"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "כלי KDE לעדכון קובצי הגדרות משתמש"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "שמירת תוצאות פלט מסקריפטים"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"לבדיקות יחידה: לא לכתוב את הרשומות שבוצעו, כך שבכל הרצה חוזרת, הסקריפטים "
+"יופעלו שוב"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "לבדוק האם קובץ ההגדרות עצמו דורש עדכון"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "קבצים מהם לקרוא הנחיות עדכון"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "תיקייה בה לייצר קבצים [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "תיקייה"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "הצגת רשיונות תוכנה."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "להשתמש ב־<file> (קובץ) במקום בהגדרות כלליות"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"הקבוצה לחפש בה. יש להשתמש ב‏־„<default>” (ברירת מחדל) לקבוצת העל או להשתמש "
+"במחזוריות לקבוצות מקוננות."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "מפתח לחיפוש"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ערך ברירת מחדל"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "סוג המשתנה"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"שם קבוצה לא יכול להיות ריק. יש להשתמש ב־„<default>” (ברירת מחדל) לקבוצת העל"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"סוג משתנה. יש להשתמש ב־„bool” למשתנה בוליאני, אחרת מתייחסים אליו כאל מחרוזת"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "למחוק את המפתח המוקצה אם פעיל"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "הערך לכתיבה. חובה, במעטפת אפשר להשתמש ב־'' לריק"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "העצה היומית"
diff --git a/poqm/hi/kconfig6_qt.po b/poqm/hi/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..8016eb5
--- /dev/null
@@ -0,0 +1,1287 @@
+# translation of kwriteconfig.po to Hindi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ravishankar Shrivastava <raviratlami@yahoo.com>, 2007.
+# G Karunakar <karunakar@indlinux.org>, 2012.
+# Raghavendra Kamath <raghu@raghukamath.com>, 2021, 2022.
+# SPDX-FileCopyrightText: 2024 kali <skkalwar999@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-15 19:32+0530\n"
+"Last-Translator: kali <skkalwar999@gmail.com>\n"
+"Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "कृपया अपने तंत्र व्यवस्थापक से संपर्क करें। "
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "कॉन्फ़िगरेशन फ़ाइल \"%1\" लेखन योग्य नहीं है। \n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "पूर्वन्यस्त"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "पीछे"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "आगे"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "घर"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "खोलें"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "सहेजें"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ऐसे सहेजें"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "पलटें"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "बंद करें"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "छापें"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "छपाई नमूना"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "ईमेल"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "बाहर जाएँ"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "अनुप्रयोग के बोरे में"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "पूर्ववत करें"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "नक़ल"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "चिपकाएँ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "साफ करें"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "सभी चुनें"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "अचयनित करें"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ढूंढें"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "अगला ढूंढें"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "पिछले ढूंढें"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "बदलें"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "वास्तविक आकार"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "चौड़ाई के अनुरूप"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "ऊँचाई के अनुरूप"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "ज़ूम इन"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ज़ूम आउट"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "ज़ूम"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "सभी चुनें"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "ऊपर"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "पीछे"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "आगे"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "पुस्तचिन्ह जोड़ें"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "पुस्तचिह्न संपादित करें"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "वर्तनी"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "औज़ार पट्टी विन्यस्त करें"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "सूचनाएँ विन्यस्त करें"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "यह क्या है?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "त्रुटि दर्ज करें"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "मिटाएँ"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "नाम बदलें"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "कूडे में डालें"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "दान करें"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "खोलें"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "नया"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "बंद करें"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "सहेजें"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "छापें"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "बाहर जाएँ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "पूर्ववत करें"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "फिर करें"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "काटें"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "नक़ल"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "चिपकाएँ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "चयन चिपकाएँ"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "सभी चुनें"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "अचयनित करें"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "शब्द को पीछे की ओर से हटाएं "
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "शब्द को आगे की ओर से हटाएं "
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ढूंढें"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "अगला ढूंढें"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "पिछले ढूंढें"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "बदलें"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "घर"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "प्रारंभ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "अंत"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "पहले "
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "अगला"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "ऊपर"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "पीछे"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "आगे"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "री-लोड"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "पंक्ति का आरंभ"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "पंक्ति का अंत"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "पिछला शब्द"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "आगे का शब्द"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "पुस्तचिन्ह जोड़ें"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "ज़ूम इन"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "ज़ूम आउट"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "अगला टैब सक्रिय करें"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "पिछला टैब सक्रिय करें"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "मदद"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "यह क्या है?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "पाठ पूर्णता"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "पिछला समापन मेल"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "अगला समापन मेल"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "उप-स्ट्रिंग पूर्णता "
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "सूची में पिछली चीज"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "सूची में अगली चीज"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ऐसे सहेजें"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "पलटें"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "छपाई नमूना"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "ईमेल"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "साफ करें"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "वास्तविक आकार"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "चौड़ाई के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "ऊँचाई के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "ज़ूम"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "में जाएँ"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "पिछला दस्तावेज़"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "अगला दस्तावेज़"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "पुस्तचिह्न संपादित करें"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "वर्तनी"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "कुंजी बाइंडिंग"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "अनुप्रयोग विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "औज़ार पट्टी विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "सूचनाएँ विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "त्रुटि दर्ज करें"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "अनुप्रयोग के बोरे में"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "मिटाएँ"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "नाम बदलें"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "कूडे में डालें"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "दान करें"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "छुपी फ़ाइलें दिखाएँ/छुपाएँ"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "फ़ोल्डर बनाएँ"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों को अद्यतन करने के लिए केडीई उपकरण "
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "स्क्रिप्ट से आउटपुट परिणाम रखें "
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "जांचें कि क्या कॉन्फ़िगर फ़ाइल को अपडेट करने की आवश्यकता है "
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "फ़ाइल (लों) से अद्यतन निर्देश पढ़ने के लिए "
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "फ़ाइलों को जनरेट करने के लिए डिरेक्ट्री [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "डिरेक्ट्री"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "सोफ्टवेयर का अनुज्ञापत्र दिखाएँ"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "वैश्विक कॉन्फ़िग के बजाए <file> इस्तेमाल करें"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"देखने के लिए समूह। रूट समूह के लिए \"<default>\" का उपयोग करें, या अंतर समूहों के लिए बार-"
+"बार उपयोग करें।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुंजी जिसे देखा जाना है"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "पूर्वन्यस्त मूल्य"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "परिवर्तनीय का प्रकार"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "समूह का नाम खाली नहीं हो सकता, रूट समूह के लिए \"<default>\" का उपयोग करें"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"परिवर्तनीय का प्रकार. इस्तेमाल करें \"bool\" बूलियन के लिए, अन्यथा यह एक स्ट्रिंग की तरह "
+"समझा जाएगा"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "सक्षम होने पर निर्दिष्ट कुंजी को हटा दें "
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जो लिखा जाना है. अनिवार्य है, शेल में खाली के लिए ''  का इस्तेमाल करें"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "आज का सुझाव "
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "केवल यूनिट परीक्षणों के लिए: उपयोगकर्ता की वास्तविक फ़ाइलों से दूर रहने के लिए परीक्षण "
+#~ "निर्देशिकाओं का उपयोग करें "
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "विकल्पों को सहेजें"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "के-राइट-कॉन्फ़िग"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कॉन्फ़िग प्रविष्टि - शेल स्क्रिप्ट के उपयोग में"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हैट इंक. तथा लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकॉन्फ़िग लिखा जिस पर यह आधारित है"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
diff --git a/poqm/hne/kconfig6_qt.po b/poqm/hne/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ca484ac
--- /dev/null
@@ -0,0 +1,1089 @@
+# translation of kwriteconfig.po to Hindi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ravishankar Shrivastava <raviratlami@yahoo.com>, 2007.
+# Ravishankar Shrivastava <raviratlami@aol.in>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-28 17:22+0530\n"
+"Last-Translator: Ravishankar Shrivastava <raviratlami@aol.in>\n"
+"Language-Team: Hindi <kde-i18n-doc@lists.kde.org>\n"
+"Language: hne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "उपयोग करव <file> बदला मा वैस्विक कान्फिग के"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "समूह जेमां देखना हे. नेस्टेड समूह बर बारबार उपयोग मं."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुंजी जऊन ल देखाना हे"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चर के किसम. उपयोग करव \"bool\" बूलिये बर, नइ तहां ले ए एक स्ट्रिंग के जइसन समझे जाही"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जऊन ल लिखना हे. अनिवार्य, सेल मं खाली बर '' के उपयोग करव"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "के-राइट-कान्फिग"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कान्फिग प्रविस्टि - सेल स्क्रिप्ट के उपयोग में"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हेट इंक. अउ लुये पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकान्फिग लिखे हे जऊन मं एही आधारित हे"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुये पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
diff --git a/poqm/hr/kconfig6_qt.po b/poqm/hr/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..e741f56
--- /dev/null
@@ -0,0 +1,1101 @@
+# Translation of kwriteconfig to Croatian
+#
+# Andrej Dundović <adundovi@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig 0\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2011-08-02 05:32+0200\n"
+"PO-Revision-Date: 2009-07-01 09:19+0200\n"
+"Last-Translator: Andrej Dundović <adundovi@gmail.com>\n"
+"Language-Team: Croatian <kde-croatia-list@lists.sourceforge.net>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 0.3\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Umjesto opće konfiguracije upotrijebi <file> "
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljaj za ugnježdene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ za kojim se traga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta varijable. Za Boolean unos upotrijebite \"bool\", u suprotnom će se s "
+"njima postupati kao sa znakovnim nizovima."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vrijednost koja će biti zapisana. Obavezno u ljusci za prazninu upotrijebite "
+"''"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisuj KConfig unose – za upotrebu u skriptama ljuske"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisan je kreadconfig na kojem je ovo bazirano"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Danko Butorac, Denis Lackovic, Nikola Planinac, Robert Sedak"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "lokalizacija@linux.hr"
diff --git a/poqm/hsb/kconfig6_qt.po b/poqm/hsb/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..b852379
--- /dev/null
@@ -0,0 +1,1064 @@
+# translation of kwriteconfig.po to Upper Sorbian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Prof. Dr. Eduard Werner <e.werner@rz.uni-leipzig.de>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-22 18:13+0100\n"
+"Last-Translator: Prof. Dr. Eduard Werner <e.werner@rz.uni-leipzig.de>\n"
+"Language-Team: Upper Sorbian\n"
+"Language: hsb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Wužiwaj <dataju> město globalneje konfiguracije"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kluč, za kotrymž ma so pytać"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ wariable. Wužiwaj \"bool\" za Booleowu wariablu, hewak so jako string "
+"wobhladuje"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hódnota, kiž ma so pisać. Trěbna; za prózdnu hódnotu wužiwaj '' "
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Pisa zapisy za KConfig -- wužiwa so w skriptach"
diff --git a/poqm/hu/kconfig6_qt.po b/poqm/hu/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..c213119
--- /dev/null
@@ -0,0 +1,1096 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Tamas Szanto <tszanto@interware.hu>, 2003.
+# Kristóf Kiszel <ulysses@kubuntu.org>, 2014.
+# SPDX-FileCopyrightText: 2018, 2020, 2021, 2024 Kristof Kiszel <kiszel.kristof@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: KDE 4.1\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-31 22:46+0200\n"
+"Last-Translator: Kristof Kiszel <ulysses@fsf.hu>\n"
+"Language-Team: Hungarian <kde-l10n-hu@kde.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lépjen kapcsolatba a rendszergazdával."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "A(z) „%1” beállítófájl nem írható.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Alapértelmezett"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Vissza"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Előre"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Kezdőlap"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Ú&j"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Új dokumentum létrehozása"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Megnyitás…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Meglévő dokumentum megnyitása"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Legutóbbi megnyitása"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Egy legutóbb megnyitott dokumentum megnyitása"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Menté&s"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Dokumentum mentése"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Mentés más&ként…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Dokumentum mentése új néven"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Visszaállítás"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nem mentett módosítások visszavonása"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Bezárás"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Dokumentum bezárása"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Nyomtatás…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Dokumentum nyomtatása"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Nyomtatási &előnézet"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "A  dokumentum nyomtatási előnézetének megjelenítése"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-&mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Dokumentum küldése e-mailben"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Kilépés"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Kilépés az alkalmazásból"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Visszavonás"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Legutóbbi művelet visszavonása"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Újra vég&rehajtás"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Legutóbb visszavont művelet újra végrehajtása"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Kivágás"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Kijelölés kivágása és a vágólapra helyezése"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Másolás"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kijelölés másolása a vágólapra"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Beillesztés"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Vágólap tartalmának beillesztése"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Törlés"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Össz&es kijelölése"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Kijelö&lés megszüntetése"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Keresés…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Kö&vetkező keresése"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Előző &keresése"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Cse&re…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "N&agyítás a tényleges méretre"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Dokumentum megjelenítése tényleges méretben"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Teljes oldal"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Nagyítás az oldal kitöltéséhez"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Teljes &szélesség"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Nagyítás az oldalszélesség kitöltéséhez"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Teljes ma&gasság"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Nagyítás az oldalmagasság kitöltéséhez"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "N&agyítás"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "K&icsinyítés"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Nagyít&ás…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Válasszon nagyítási szintet"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Frissítés"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Dokumentum frissítése"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Fel"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Ugrás felfelé"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "El&őző oldal"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ugrás az előző oldalra"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Következő &oldal"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ugrás a következő oldalra"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ugrás ide…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ugrás egy ol&dalra…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "U&grás egy sorra…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "El&ső oldal"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ugrás az első oldalra"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ut&olsó oldal"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ugrás az utolsó oldalra"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Vissza"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Vissza a dokumentumban"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Előre"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Előre a dokumentumban"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Hozzá&adás a könyvjelzőkhöz"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Könyvjelzők szerkesztése…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Helye&sírás-ellenőrzés…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Helyesírás-ellenőrzés a dokumentumban"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menüsor"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menüsáv megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Eszköz&tár megjelenítése"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Eszköztár megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Áll&apotsor"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Állapotsor megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Teljes képernyős mód"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Billentyű&parancsok beállítása…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 &beállítása…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Eszköztárak beállítása…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "É&rtesítések beállítása…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 kéz&ikönyve"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Mi e&z?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Hiba&bejelentés…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nye&lvbeállítás…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Né&vjegy: %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Névjegy: &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Törlés"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Át&nevezés…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Á&thelyezés a Kukába"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Támogatás"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menü megnyitása"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Megnyitás"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Új"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Bezárás"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Mentés"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Nyomtatás"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Kilépés"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Visszavonás"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Újra végrehajtás"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kivágás"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Másolás"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Beillesztés"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Kijelölés beillesztése"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Összes kijelölése"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Kijelölés megszüntetése"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "A kurzortól balra álló szó törlése"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "A kurzortól jobbra álló szó törlése"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Keresés"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Következő keresése"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Előző keresése"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Csere"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Saját mappa"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Elejére"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Végére"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Előtte"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Következő"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Fel"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Vissza"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Előre"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Újratöltés"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Sor eleje"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sor vége"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ugrás egy sorra"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Előző szó"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Következő szó"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Könyvjelző hozzáadása"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Nagyítás"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Kicsinyítés"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Teljes képernyős mód"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menüsáv megjelenítése"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Váltás a következő lapra"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Váltás az előző lapra"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Súgó"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mi ez"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Szövegkiegészítés"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Előző kiegészítés"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Következő kiegészítés"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Részszó-kiegészítés"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Előző listaelem"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Következő listaelem"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Legutóbbi megnyitása"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Mentés másként"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Visszavonás"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Nyomtatási előnézet"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Törlés"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Nagyítás a tényleges méretre"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Teljes oldal"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Teljes szélesség"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Teljes magasság"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Nagyítás"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ugrás"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ugrás oldalra"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Előző dokumentum"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Következő dokumentum"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Könyvjelzők szerkesztése"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Helyesírás"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Eszköztár megjelenítése"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Állapotsor megjelenítése"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Billentyűparancsok"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Alkalmazás beállítása"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Eszköztárak beállítása"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Értesítések beállítása"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Hiba jelentése"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nyelvbeállítás…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Az alkalmazás névjegye"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "A KDE névjegye"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Törlés"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Átnevezés"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Áthelyezés a Kukába"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Támogatás"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rejtett fájlok megjelenítése/elrejtése"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Mappa létrehozása"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Főmenü megnyitása"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Helyi menü megnyitása"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Segédprogram a KDE-től felhasználói beállítófájlok frissítéséhez."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Szkriptkimenetek megtartása"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Csak egységtesztekhez: ne írja ki a kész bejegyzéseket, így minden újra "
+"futtatáskor a parancsfájlok ismét végrehajtódnak"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Ellenőrizze, kell-e frissíteni a beállítófájlt"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "A frissítési utasításokat tartalmazó fájl(ok)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fájlok generáláshoz használt mappa [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Szoftverlicenc megjelenítése"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "A megadott <fájl> használata a globális helyett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"A vizsgált csoport neve. Használja a „<default>”-ot a root csoporthoz, vagy "
+"ismételten megadható egymásba ágyazás esetén."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Keresendő kulcs"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Alapértelmezett érték"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "A változó típusa"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"A csoportnév nem lehet üres, használja a „<default>”-ot a root csoporthoz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"A változó típusa. Logikai változó esetén „bool”, máskülönben sztring lesz"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "A kijelölt billentyű törlése, ha be van kapcsolva"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"A kiírandó érték. Kötelezően meg kell adni, szkripteknél '' legyen, ha üres"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "A nap tippje"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Csak unit tesztekhez: tesztmappa használata a felhasználó fájljainak "
+#~ "megóvása érdekében"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Mentési beállítások"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Más alkalmazásnyelv"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Beállítások"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-bejegyzések írása (parancsfájlokhoz)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) Red Hat, Inc. & Luís Pedro Coelho, 2001."
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "A kreadconfig szerzője, melyre a program épült"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ia/kconfig6_qt.po b/poqm/ia/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..df0bd33
--- /dev/null
@@ -0,0 +1,1098 @@
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# SPDX-FileCopyrightText: 2010, 2017, 2021, 2022, 2023 g.sora <g.sora@tiscali.it>
+# Giovanni Sora <g.sora@tioscali.it>, 2014, 2016, 2019, 2020.
+# giovanni <g.sora@tiscali.it>, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 17:42+0200\n"
+"Last-Translator: giovanni <g.sora@tiscali.it>\n"
+"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
+"Language: ia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 21.12.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Pro favor, tu continge tu administrator de systema"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "File de configuration \"%1\" non pote scriber se.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinite"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Retro"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Avante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Domo o Initio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nove "
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea nove documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "A&peri..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Aperi un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Aperi &recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Aperi un documento que ha essite aperite recentemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Salveguarda"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Salveguarda documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "S&alveguarda como..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Salveguarda un documento con un nove nomine"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verte"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Reverte modificationes non salveguardate facite al documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Claude"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Claude documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&prime..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprime documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista Preliminar de &Imprimer"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Monstra un vista preliminar del documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Invia via &E-posta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Invia un documento per e-posta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quita"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quita Application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annulla ultime action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "R&eface"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Face de nove ultime action annullate"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Talia"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Talia selection a area de transferentia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia selection a area de transferentia"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Co&lla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Colla contento de area de transferentia"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Netta"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selection&a Tote"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "De-se&lectiona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trova…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trova proxi&me"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tro&va precedente "
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Reimplacia…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Aggrandi (zoom) a Dimension &Actual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Vide documento a su grandor actual"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ada&pta a la pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Face zoom usque il adapta a pagina in fenestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Adapta al lar&gessa de pagina "
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Face zoom usque il adapta a largessa de pagina pagina in fenestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Adapta  al al&tessa de pagina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Face zoom usque il adapta a altessa de pagina in fenestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &In (aggrandi)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom&Out (diminue)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selectiona nivello de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refresca"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refresca Documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "in &Alto"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Vade in alto"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pagina precedente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Vade a pagina precedente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pagi&na Proxime"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Vade a pagina proxime"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Vade a.."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Vade a pagina ..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Vade a Linea…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pagina prime"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Vade a prime pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Pagina u&ltime"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Vade a ultime pagina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Retro"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Vade retro in le documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vante"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vade avante in le documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Adde marcator de libro"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita marcatores de libro…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Controlo ort&hographic..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Controlo Orthographic in documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Monstra barra de &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Monstra o cela barra de menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mons&tra le barra de instrumentos"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Monstra o cela barra de instrumentos"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Monstrar barra de st&ato"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Monstra o cela barra de stato"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "M&odo de schermo integre"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura Via&s breve de claviero ..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura le &barras de instrumentos..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura &Notificationes ..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &Manual"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Que es is&to?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Reporta Bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &Linguage …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&A proposito de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "A proposito de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Dele"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomina…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Move al corbe"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Dona"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Aperi &Menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aperi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nove "
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Claude"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salveguarda"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprime"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quita"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annulla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Reface"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Talia"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colla"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colla Selection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selige toto"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "De-selectiona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Cancella Parola de Retro"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Cancella Parola In Avante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trova"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trova proxime"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trova Precedente"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Reimplacia"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domo o initio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Initio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Ante"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Proxime"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "In alto"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Retro"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avante"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarga"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Initio de linea"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de Linea"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Vade al Linea"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Parola de retro"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Parola in Avante"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adde marcator de libro"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In (aggrandir)"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out (Diminuer)"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de Schermo Integre"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Monstra le barra de menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa proxime scheda"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa previe scheda"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Adjuta"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Que es isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completamento de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Resultato de completamento precedente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Resultato de completamento proxime"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completamento de sub-catena"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Elemento precedente in lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Elemento proxime in lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Aperi Recente "
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salveguarda como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverte"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista preliminar de imprimer"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Netta"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Aggrandi (zoom) a Dimension actual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Adapta a la pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Adapta in largessa"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Adapta in altessa"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Vade a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Vade a pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Documento Previe (de retro)"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Documento in Avante"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita marcatores de libro"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Controlo orthographic"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Monstra le barra de instrumentos"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Monstra le barra de stato"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Ligamines Clave"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura Application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura le barras de instrumentos"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura notificationes "
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Reporta Bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura Linguage ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Re le Application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Re KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Dele"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomina"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Move a corbe"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Dona"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Monstra /Cela files celate"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea dossier"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Aperi Menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Aperi Menu de Contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Instrumento KDE pro actualisar le files de configuration del usator"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantene le resultatos de exitos ex le scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solmente pro essayar unitate: non scriber le entratas facite, assi que con "
+"cata re-execution, le script es executate novemente "
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Controla si le mesme file de configuration debe esser actualisate"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File(s) ex cuje leger instructiones de actualisation"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directorio pro generar files in [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directorio"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Monstra licentia de software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usa <file> in vice de config global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppo de guardar internemente. Usa \"<default>\" per le gruppo de radice, o "
+"usa repetitemente per gruppos annidate."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clave per cercar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predefinite"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typo de variabile"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Nomine de gruppo non pote esser vacue, tu usa \"<default>\" per le gruppo de "
+"radice"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typo de variabile. Usa \"bool\" per un boolean, alteremente il es tractate "
+"como un catena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Dele le clave designate si habilitate"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Le valor de scriber. Obligatori usar in un shell \" per vacue"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consilio del Die"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solment eper unitates de essayar: usa dossieres de essayar pro estar "
+#~ "foras del ver files de usator"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salveguarda optiones"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Commuta le linguage de application"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferentias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Entratas de Write KConfig - per uso in scripts de shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Il scribeva kreadconfig sur le qual isto es basate"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/id/kconfig6_qt.po b/poqm/id/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..9341082
--- /dev/null
@@ -0,0 +1,1293 @@
+# Indonesian translations for kwriteconfig package.
+# Copyright (C) 2010 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kwriteconfig package.
+# Gian Giovani <wejick@gmail.com>, 2010.
+# Andhika Padmawan <andhika.padmawan@gmail.com>, 2014.
+# Wantoyo <wantoyek@gmail.com>, 2017, 2018, 2019, 2020, 2021, 2022.
+# Aziz Adam Adrian <4.adam.adrian@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-08-19 20:36+0700\n"
+"Last-Translator: Wantoyèk <wantoyek@gmail.com>\n"
+"Language-Team: https://t.me/Localizations_KDE_Indonesia\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 21.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Silakan kontak pengurus sistem anda."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "File konfigurasi \"%1\" tidak dapat ditulis.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Baku"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Mundur"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Maju"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Beranda"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Buka"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Simpan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Simpan Sebagai"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Kembalikan"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tutup"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Cetak"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pratinjau Cetak"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Surat"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Berhenti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Tentang Aplikasi"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Urung"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Salin"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Tempel"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Bersihkan"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Pilih Semua"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Tak Pilih"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Temukan"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Temukan Selanjutnya"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Temukan Sebelumnya"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ganti"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom ke Ukuran Sebenarnya"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Paskan Ke Lebar"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Paskan Ke Tinggi"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom Perbesar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom Perkecil"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Zoom "
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Pilih Semua"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Atas"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Mundur"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Maju"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Tambah Markah"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Edit Markah"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pengejaan"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Mode Layar Penuh"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigurasikan Bilah Alat"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigurasikan Notifikasi"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Apakah Ini"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Laporkan Bug"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Tentang KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Tentang KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Hapus"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Ubah Nama"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pindah ke Tong Sampah"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donasi"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Buka"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Baru"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tutup"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Simpan"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Cetak"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Berhenti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Urung"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ulang"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Potong"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Salin"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Tempel"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seleksi Tempel"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Pilih Semua"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Tak Pilih"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Hapus Kata Mundur"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Hapus Kata Maju"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Temukan"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Temukan Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Temukan Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ganti"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Beranda"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Awal"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Akhir"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Atas"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Mundur"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Maju"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Muat Ulang"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Awal Baris"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Akhir Baris"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Kata Mundur"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Kata Maju"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Tambah Markah"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom Perbesar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Perkecil"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode Layar Penuh"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktifkan Tab Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktifkan Tab Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Bantuan"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Apakah Ini"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Penyelesai Teks"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Kecocokan Penyelesai Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Kecocokan Penyelesai Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Penyelesai Substring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item Sebelumnya di Daftar"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Item Selanjutnya di Daftar"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Simpan Sebagai"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Kembalikan"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pratinjau Cetak"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Surat"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Bersihkan"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom ke Ukuran Sebenarnya"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Paskan Ke Lebar"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Paskan Ke Tinggi"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom "
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ke"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumen Mundur"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumen Maju"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edit Markah"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pengejaan"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Pengikat Tuts"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigurasikan Aplikasi"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigurasikan Bilah Alat"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigurasikan Notifikasi"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Laporkan Bug"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tentang Aplikasi"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Tentang KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Hapus"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Ubah Nama"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Pindah ke Tong Sampah"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donasi"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Tampilkan/Sembunyikan File Yang Tersembunyi"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ciptakan Folder"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Alat KDE untuk memperbarui file konfigurasi pengguna"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Jaga output dihasilkan dari skrip"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Cek apakah file konfigurasi itu sendiri memerlukan peningkatan"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File untuk membaca instruksi pembaruan dari"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktori untuk membuat file di [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tampilkan lisensi perangkat lunak."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Gunakan <file> daripada konfig global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Group untuk dilihat. Pakai \"<default>\" untuk grup root, atau gunakan "
+"berulang kali untuk grup berkumpul."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kunci untuk dilihat"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Nilai baku"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipe variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Nama grup tidak boleh kosong, pakai \"<default>\" untuk grup root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipe dari variabel. Gunakan \"bool\" untuk boolean, yang lain akan "
+"diperlakukan seperti string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Hapus kunci yang dituju jika difungsikan"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Nilai untuk penulisan. Seharusnya, di shell gunakan '' bagi yang kosong"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip Hari Ini"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Untuk uji unit saja: gunakan direktori uji agar menjauh dari file asli "
+#~ "pengguna"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opsi Simpan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Alihkan Bahasa Aplikasi"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Setelan"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Tulis isi KConfig - untuk digunakan di skrip shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Tulis kreadconfig dimana ini ditempatkan"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/is/kconfig6_qt.po b/poqm/is/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1a8e265
--- /dev/null
@@ -0,0 +1,1098 @@
+# translation of kwriteconfig.po to Icelandic
+# Icelandic translation of kwriteconfig
+# Copyright (C) 2004, 2008 Free Software Foundation, Inc.
+#
+# Richard Allen <ra@ra.is>, 2004.
+# Sveinn í Felli <sv1@fellsnet.is>, 2016, 2022.
+# SPDX-FileCopyrightText: 2022, 2024 Guðmundur Erlingsson <gudmundure@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-06-29 14:35+0000\n"
+"Last-Translator: Gummi <gudmundure@gmail.com>\n"
+"Language-Team: Icelandic <kde-i18n-doc@kde.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Hafðu samband við kerfisstjóra."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ekki er hægt að skrifa í grunnstillingaskrána \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Sjálfgefið"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Til &baka"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Á&fram"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Heim"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nýtt"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Búa til nýtt skjal"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Opna…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Opna skjal sem þegar er til"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Opna ný&legt"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Opna skjal sem var nýlega opnað"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Vi&sta"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Vista skjal"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Vist&a sem…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Vista skjal með nýju heiti"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Aftu&rkalla"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Afturkalla óvistaðar breytingar sem gerðar hafa verið á skjalinu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Loka"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Loka skjali"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Prenta…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Prenta skjalið"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Forskoða pren&tun"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Sýna prentútgáfu skjals"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Póstur…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Senda skjal í tölvupósti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Hætta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Loka forriti"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Afturkalla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Afturkalla síðustu aðgerð"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Gera a&ftur"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gera aftur síðustu afturkölluðu aðgerð"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Klippa"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klippa val á klippispjald"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Afrita"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Afrita val á klippispjald"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Líma"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Líma af klippispjaldi"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Hr&einsa"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Velja &allt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Afve&lja"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Finna…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finna &næsta"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finna &fyrra"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Skipta út…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Sýna í r&aunstærð"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Skoða skjal í raunstærð þess"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Laga að síðu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Laga síðu að glugga"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Laga að síðu&breidd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Laga breidd síðu að glugga"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Laga að síðu&hæð"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Laga hæð síðu að glugga"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Auka &aðdrátt"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Mi&nnka aðdrátt"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Aðdráttur…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Velja aðdráttarstig"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Endurhlaða"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Endurhlaða skjal"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Upp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Fara upp"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Fyrri síða"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Fara á fyrri síðu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Næsta síða"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Fara á næstu síðu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Fara í  "
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Fara á &síðu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Fara í línu…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Fyrsta síða"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Fara á fyrstu síðu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Síðasta síða"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Fara á síðustu síðu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Til &baka"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Fara afturábak í skjalinu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Á&fram"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Fara áfram í skjalinu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Bæta við bókamerki"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Breyta bókamerkjum…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stafsetning…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kanna stafsetningu í skjalinu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Sýna &valmyndastiku"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Sýna eða fela valmyndastiku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Sýna &tækjastiku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Sýna eða fela tækjastiku"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Sýn&a stöðustiku"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Sýna eða fela stöðustiku"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ylla skjá"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Grunnstilla &flýtilykla…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Grunnstilla %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Grunnstilla tækja&stikur…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Grunnstilla tilky&nningar…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbók fyrir %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hvað er þ&etta?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Senda &villuskýrslu…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Grunnstilla tungu&mál…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Um %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Um &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Eyða"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Endurnefna…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Setja í &ruslið"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Styrkja"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Opna &valmynd"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nýtt"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Loka"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Vista"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Prenta"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Hætta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Afturkalla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gera aftur"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klippa"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Afrita"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Líma"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Líma val"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Velja allt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Afvelja"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Eyða orðinu á undan"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Eyða orðinu á eftir"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finna"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finna næsta"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finna fyrra"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Skipta út"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Heim"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Byrja"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Ljúka"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Fyrri"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Næsta"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Upp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Til baka"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Áfram"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Endurhlaða"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Í byrjun línu"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Í enda línu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Fara í línu"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Afturábak um orð"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Áfram um orð"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Bæta við bókamerki"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Auka aðdrátt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Minnka aðdrátt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fylla skjá"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Sýna valmyndastiku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Virkja næsta flipa"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Virkja fyrri flipa"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjálp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hvað er þetta"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textaútfylling"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Fyrri útfyllingarsamsvörun"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Næsta útfyllingarsamsvörun"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Útfylling strenghluta"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Fyrra atriði á listanum"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Næsta atriði á listanum"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Opna nýlegt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Vista sem"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Afturkalla"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Forskoðun prentunar"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Póstur"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Hreinsa"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Aðdrátt í raunstærð"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Laga að síðu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Laga að breidd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Laga að hæð"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Aðdráttur"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Fara á"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Fara á síðu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Til baka í skjali"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Áfram í skjali"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Breyta bókamerkjum"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stafsetning"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Sýna tækjastiku"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Sýna stöðustiku"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lyklabindingar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Grunnstilla forrit"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Grunnstilla tækjastikur"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Grunnstilla tilkynningar"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Senda villutilkynningu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Grunnstilla tungumál…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Um forritið"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Um KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Eyða"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Endurnefna"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Færa í ruslið"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Styrkja"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Sýna/fela faldar skrár"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Búa til möppu"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Opna aðalvalmynd"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Opna samhengisvalmynd"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verkfæri til að uppfæra grunnstillingaskrár notenda"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Halda niðurstöðu úr úttaki frá skriftum"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Til einingaprófunar eingöngu: ekki skrifa loknu færslurnar, þannig að við "
+"hverju endurkeyrslu verði skrifturnar keyrðar aftur"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Athuga hvort grunnstillingaskráin þarfnist uppfærslu"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Skrá(r) sem uppfærsluleiðbeiningar eru lesnar úr"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappa þar sem á að búa til skrár [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Birta notkunarleyfi hugbúnaðar"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Nota <file> í stað altækra grunnstillinga"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Hópur sem á að leita í. Notaðu \"<default>\" fyrir rótarhópinn eða notaðu "
+"endurtekið fyrir faldaða hópa."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Lykill sem á að leita að"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Sjálfgefið gildi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tegund breytu"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Heiti hóps getur ekki verið autt, notaðu \"<default>\" fyrir rótarhópinn"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tegund breytu. Notaðu \"bool\" fyrir satt/ósatt, að öðrum kosti er farið með "
+"breytuna sem streng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Eyða tilgreindum lykli ef virkt"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Gildið sem á að skrifa. Í skeljum verður að nota '' ef það er tómt"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Vísbending dagsins"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Einungis fyrir prófanir: nota prófunarmöppur til að forðast skrár "
+#~ "notandans"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Valkostir vistunar"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Skipta um tungumál forrits"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Kjörstillingar"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skrifa KConfig færslur - til afnota fyrir skeljaforrit"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "skrifaði kreadconfig sem þetta forrit byggir á"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/it/kconfig6_qt.po b/poqm/it/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..2846ab2
--- /dev/null
@@ -0,0 +1,1101 @@
+# translation of kwriteconfig.po to Italian
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+# Andrea Rizzi <rizzi@kde.org>, 2003.
+# Andrea Rizzi <rizzi@sns.it>, 2007.
+# Luca Bellonda <lbellonda@gmail.com>, 2008.
+# SPDX-FileCopyrightText: 2014, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Vincenzo Reale <smart2128vr@gmail.com>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-23 02:27+0200\n"
+"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contatta il tuo amministratore di sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Il file di configurazione «%1» non è scrivibile.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinito"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Indietro"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Avanti"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nuovo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un nuovo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Apri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Apri un documento esistente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Apri &recenti"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Apri un documento che è stato aperto di recente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Salva"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Salva documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "S&alva come…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Salva il documento con un nuovo nome"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Annulla le modifiche non salvate fatte al documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Chiudi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Chiudi documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Stam&pa…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Stampa documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Antepri&ma di stampa"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra un'anteprima di stampa del documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Posta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Invia documento tramite posta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Esci"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Esci dall'applicazione"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annulla l'ultima azione"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Ri&fai"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Rifai l'ultima azione annullata"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Taglia"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Taglia la selezione negli appunti"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selezione negli appunti"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Incolla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Incolla il contenuto degli appunti"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Pu&lisci"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleziona t&utto"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&leziona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trova…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trova &successivo"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Trova &precedente"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Sostituisci…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Ingr&andimento alla dimensione effettiva"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Mostra il documento nelle sue dimensioni effettive"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&datta alla pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Adatta le dimensioni della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Adatta alla &larghezza della pagina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Adatta la larghezza della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Adatta all'&altezza della pagina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Adatta l'altezza della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Ingrandisci"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Riduci"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Ingrandimento…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleziona il livello di ingrandimento"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Aggio&rna"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Aggiorna il documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "S&u"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Vai su"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Pagina &precedente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Vai alla pagina precedente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pagina &successiva"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Vai alla pagina successiva"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Va&i a..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Va&i alla pagina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Va&i alla riga…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Prima pagina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Vai alla prima pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "U&ltima pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Vai all'ultima pagina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Indietro"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Indietro nel documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Avanti"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanti nel documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Aggiungi segnalibro"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Modifica i s&egnalibri"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Controllo ortografico…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Controlla l'ortografia nel documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra dei &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o nascondi la barra dei menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra degli &strumenti"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o nascondi la barra degli strumenti"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra di st&ato"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o nascondi la barra di stato"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Mo&dalità a schermo intero"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gura le scorciatoie da tastiera"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura le &barre degli strumenti…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura le &notifiche"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manuale di %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Che &cos'è?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Segnala &bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura la &lingua…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Inform&azioni su %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Informazioni su &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Elimina"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Rinomina…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Cestina"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donazione"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Apri &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Apri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nuovo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Chiudi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salva"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Stampa"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Esci"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annulla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Rifai"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Taglia"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Incolla"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Incolla la selezione"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleziona tutto"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleziona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Cancella parola all'indietro"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Cancella parola in avanti"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trova"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trova succ."
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trova prec."
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Sostituisci"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Inizio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fine"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Precedente"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Avanti"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Su"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Indietro"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Inoltra"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ricarica"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Inizio della riga"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fine della riga"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Vai alla riga"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Parola precedente"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Parola successiva"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Aggiungi segnalibro"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ingrandisci"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Rimpicciolisci"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modalità a schermo intero"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra dei menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Attiva la scheda successiva"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Attiva la scheda precedente"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Aiuto"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Cos'è"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completamento del testo"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Corrispondenza di completamento precedente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Corrispondenza di completamento successiva"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completamento sottostringa"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Elemento precedente in elenco"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Elemento successivo in elenco"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Apri recenti"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salva come"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Ripristina"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Anteprima di stampa"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Cancella"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ingrandimento all dimensione effettiva"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Adatta alla pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Adatta alla larghezza"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Adatta all'altezza"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ingrandimento"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Vai a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Vai alla pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Indietro di un documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avanti di un documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Modifica i segnalibri"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra degli strumenti"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra di stato"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Associazioni dei tasti"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura applicazione"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura le barre degli strumenti"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura le notifiche"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Segnala un bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura la lingua…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Informazioni sull'applicazione"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Informazioni su KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Elimina"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Rinomina"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Cestina"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donazione"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/nascondi i file nascosti"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea cartella"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Apri il  menu principale"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Apri menu contestuale"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Strumento di KDE per aggiornare i file di configurazione dell'utente"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Tieni i risultati di uscita degli script"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solo per le unità di prova: non scrivere le voci completate, in modo che a "
+"ogni nuova esecuzione, gli script vengono eseguiti di nuovo"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verifica se il file di configurazione richiede un aggiornamento"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File dai quali leggere le istruzioni di aggiornamento"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Cartella in cui generare i file [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "cartella"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Visualizza la licenza del software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizza <file> invece della configurazione globale"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppo in cui cercare. Utilizza \"<default>\" per il gruppo radice, o "
+"ripetutamente in caso di gruppi nidificati."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chiave da cercare"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valore predefinito"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo di variabile"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Il nome del gruppo non può essere vuoto, usa \"<default>\" per il gruppo "
+"radice"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo di variabile. Utilizza «bool» per un booleano, altrimenti viene "
+"trattato come una stringa"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Elimina il tasto designato se abilitato"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Il valore da scrivere. Obbligatorio, sulla shell utilizzare '' per lasciare "
+"vuoto"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Suggerimento del giorno"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solo per le unità di prova: utilizza le cartelle di prova per evitare i "
+#~ "file veri degli utenti"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opzioni di salvataggio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambia la lingua dell'applicazione"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferenze"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Scrive voci di KConfig - da utilizzare in script della shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. e Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Ha scritto kreadconfig su cui si basa questo programma"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ja/kconfig6_qt.po b/poqm/ja/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..8e09506
--- /dev/null
@@ -0,0 +1,1193 @@
+# Ryuichi Yamada <ryuichi_ya220@outlook.jp>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2023-02-23 18:21+0900\n"
+"Last-Translator: Ryuichi Yamada <ryuichi_ya220@outlook.jp>\n"
+"Language-Team: Japanese <kde-jp@kde.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Lokalize 22.12.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "システム管理者に連絡してください。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "設定ファイル \"%1\" は書き込み可能ではありません。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "デフォルト"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "戻る"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "進む"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "開く"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "保存"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "名前を付けて保存"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "元に戻す"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "閉じる"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "印刷"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "印刷プレビュー"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "メール"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "終了"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "アプリケーションについて"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "元に戻す"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "コピー"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "貼り付け"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "クリア"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "すべて選択"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "選択解除"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "実際のサイズに拡大"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "幅に合わせる"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "高さに合わせる"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "拡大"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "縮小"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "拡大"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "すべて選択"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "上へ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "戻る"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "進む"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "フルスクリーンモード"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "これは何"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "バグを報告"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE について"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE について"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "削除"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "名前変更"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ごみ箱に移動"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "寄付"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "開く"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新規"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "閉じる"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "保存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "印刷"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "終了"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "元に戻す"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "やり直す"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "切り取り"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "コピー"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "貼り付け"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "選択を貼り付け"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "すべて選択"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "選択解除"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "前"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "次へ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "上へ"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "戻る"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "進む"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "再読み込み"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "拡大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "縮小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "フルスクリーンモード"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "次のタブをアクティベート"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "前のタブをアクティベート"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "ヘルプ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "これは何"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "名前を付けて保存"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "元に戻す"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "印刷プレビュー"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "メール"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "クリア"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "実際のサイズに拡大"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "幅に合わせる"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "高さに合わせる"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "拡大"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "バグを報告"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "言語を設定..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "アプリケーションについて"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE について"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "削除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "名前変更"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ごみ箱に移動"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "寄付"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "隠しファイルを表示/隠す"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "フォルダを作成"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> をグローバル設定の代わりに使用"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "参照するキー"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"変数のタイプ。ブーリアンの場合は “bool” を使います。そうでない場合は、文字列"
+"として扱われます。"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "書き込む値。シェルから使う場合、空の値には '' を使います。"
diff --git a/poqm/ka/kconfig6_qt.po b/poqm/ka/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ac1845e
--- /dev/null
@@ -0,0 +1,1064 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: \n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Poedit 3.3.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "დაუკავშირდით თქვენს სისტემურ ადმინისტრატორს."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "%1: კონფიგურაციის ფაილი ჩაწერადი არაა.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ნაგულისხმები"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&უკან"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&წინ"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&საწყისი"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&ახალი"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "ახალი დოკუმენტის შექმნა"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&გახსნა…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "არსებული დოკუმენტის გახსნა"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ბოლოს გახსნილი ფაილების გახსნა"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "ახლახანს გახსნილი დოკუმენტის გახსნა"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&შენახვა"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "დოკუმენტის შენახვა"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "შეინახვა &როგორც…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "დოკუმენტის ახალი სახელით შენახვა"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&დაბრუნება"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "დოკუმენტზე განხორციელებული ცვლილებების გაუქმება"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&დახურვა"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "დოკუმენტის დახურვა"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&ბეჭდვა…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "დოკუმენტის დაბეჭდვა"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&დასაბეჭდის მინიატურა"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "მიმდინარე დოკუმენტების დაბეჭდვისწინა გადახედვის ჩვენება"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&ელფოსტა…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "დოკუმენტის ელფოსტით გაგზავნა"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&გასვლა"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "აპლიკაციიდან გასვლა"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&დაბრუნება"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "ბოლო ქმედების გაუქმება"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&გამეორება"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "ბოლო დაბრუნებული ქმედების გამეორება"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "ამ&ოჭრა"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "მონიშნულის ბუფერში ამოჭრა"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&კოპირება"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "მონიშნულის ბუფერში კოპირება"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&ჩასმა"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "გაცვლის ბუფერიდან ჩასმა"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "გასუ&ფთავება"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "ყველაფრის &მონიშვნა"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&მონიშვნის მოხსნა"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&ძებნა…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&მომდევნოს მოძებნა"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "&წინას მოძებნა"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&ჩანაცვლება…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&რეალური ზომამდე გადიდება"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "დოკუმენტის რეალური ზომებით ნახვა"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&გვერდში ჩატევა"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "გვერდში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "გვერდის &სიგანეში ჩატევა"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "გვერდის სიგანეში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "გვერდის &სიმაღლეში ჩატევა"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "გვერდის სიმაღლეში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&გადიდება"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&დაპატარავება"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&გადიდება…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "აირჩიეთ გადიდების დონე"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&განახლება"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "დოკუმენტის განახლება"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&მაღლა"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "მაღლა ასვლა"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&წინა გვერდი"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "გადასვლა წინა გვერდზე"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&შემდეგი გვერდი"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "შემდეგ გვერდზე გადასვლა"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&გადასვლა…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&გვერდზე გადასვლა…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&ხაზზე გადასვლა…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&პირველი გვერდი"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "გადასვლა პირველ გვერდზე"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&ბოლო გვერდი"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "გადასვლა ბოლო გვერდზე"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&უკან"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "დოკუმენტში უკან გადასვლა"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&წინ"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "დოკუმენტში წინ გადასვლა"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "სანიშნეს &დამატება"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&სანიშნეების ჩასწორება…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&მართლწერა…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "დოკუმენტის მართლწერის შემოწმება"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&მენიუს ზოლის ჩვენება"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "მენიუს ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&პანელის ჩვენება"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ხელსაწყოთა ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "სტატუსის &ზოლის ჩვენება"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "სტატუსის ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&სრულ-ეკრანზე"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "კლავიატურის &მალსახმობების მორგება…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1-ის &მორგება…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "ხელსაწყოთა ზოლები&ს გამართვა…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&შეტყობინებების მორგება…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-ის &სახელმძღვანელო"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "რა არის &ეს?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&შეცდომის ანგარიში…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&ენის მორგება…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1-ის &შესახებ"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDE-ის შესახებ"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&წაშლა"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&სახელის გადარქმევა…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&სანაგვე ყუთში გადატანა"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&შეწირვა"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&მენიუს გახსნა"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "გახსნა"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "ახალი"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "დახურვა"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "შენახვა"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ამობეჭდვა"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "გამოსვლა"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "დაბრუნება"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ბრძანების აღდგენა"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "ამოჭრა"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "კოპირება"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ჩასმა"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "მონიშნულის ჩასმა"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "ყველას მონიშვნა"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "მონიშვნის მოხსნა"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "წინა სიტყვის წაშლა"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "შემდეგი სიტყვის წაშლა"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "მოძებნა"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "მომდევნოს მოძებნა"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "წინას პოვნა"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "ჩანაცვლება"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "საწყისი"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "დაწყება"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "დასრულება"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "პრიორიტეტი"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "შემდეგი"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "მაღლა"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "უკან"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "წინ"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "თავიდან ჩატვირთვა"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "ხაზის დასაწყისი"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "ხაზის დასასრული"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "ხაზზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "წინა სიტყვა"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "შემდეგი სიტყვა"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "სანიშნის დამატება"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "სრულეკრანი რეჟიმი"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "მენიუს ზოლის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "შემდეგი ჩანართის გააქტიურება"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "წინა ჩანართის გააქტიურება"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "დახმარება"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "რა არის ეს"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "ტექსტის დასრულება"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "წინა დასრულებაზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "შემდეგ დასრულებაზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "ქვესტრიქონის დასრულება"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "სიის წინა ჩანაწერი"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "სიის შემდეგი ჩანაწერი"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ბოლოს გახსნილი ფაილების გახსნა"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "შენახვა როგორც"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "დაბრუნება"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "დასაბეჭდის გადახედვა"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "წერილი"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "სუფთა ცა"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "რეალური ზომამდე გადიდება"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "გვერდში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "სიგანეში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "სიმაღლეში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "გადასვლა"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "გვერდზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "წინა დოკუმენტი"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "შემდეგი დოკუმენტი"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "სანიშნების ჩასწორება"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "მართლწერა"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "პანელის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "სტატუსის ზოლის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "კლავიატურის ბმები"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "აპლიკაციის მორგება"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "ხელსაწყოთა ზოლების გამართვა"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "შეტყობინებების მორგება"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "შეცდომის ანგარიში"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "ენის მორგება…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "ინფორმაცია ამ აპლიკაციის შესახებ"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE-ს შესახებ"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "წაშლა"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "სახელის გადარქმევა"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ფაილის ნაგავში გადატანა"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "შემოწირულობა"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "დამალული ფაილების ჩვენება/დამალვა"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "საქაღალდის შექმნა"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "მთავარი მენიუს გახსნა"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "კონტექსტური მენიუს გახსნა"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-ის პროგრამა მომხმარებლის კონფიგურაციის ფაილების განახლებისთვის"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "გამოტანილი შედეგების სკრიპტებისგან დამალვა"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"მხოლოდ ტესტირებისთვის: ნუ დაწერთ დასრულების ჩანაწერებს, რადგან ყოველი "
+"თავიდან გაშვებისას სკრიპტები თავიდან სრულდება"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "შემოწმება, კონფიგურაციის ფაილი თვითონ ხომ არ ითხოვს განახლებას"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "განახლების ინსტრუქციების ფაილი"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "ფაილების დასაგენერირებელი საქაღალდე [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "საქაღალდე"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "სალიცენზიო შეთანხმების ჩვენება."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "გლობალური კონფიგურაციის მაგიერ<file> -ის გამოყენება"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"მოსაძებნი ჯგუფი. გამოიყენეთ\"<default>\" საწყისი ჯგუფისთვის ან გამოიყენეთ "
+"გამეორებით, ჩალაგებული ჯგუფებისთვის."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "მოსაძებნი გასაღები"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ნაგულისხმები მნიშვნელობა"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "ცვლადის ტიპი"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"ჯგუფის სახელი ცარიელი ვერ იქნება. საწყისი ჯგუფისთვის გამოიყენეთ \"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ცვლადის ტიპი. გამოიყენეთ \"bool\" ლოგიკური მნიშვნელობისთვის. წინააღმდეგ "
+"შემთხვევაში ის სტრიქონად აღიქმება"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "გამოყოფილი გასაღების წაშლა, თუ ჩართულია"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ჩასაწერი მნიშვნელობა. გარსში, ცარიელისთვის გამოიყენეთ ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "დღის მინიშნება"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "მხოლოდ ერთეულის ტესტირებისთვის: გამოიყენეთ სატესტო საქაღალდეები, რათა "
+#~ "მომხმარებლის რეალურ ფაილებს არ შეეხოთ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "პარამეტრების შენახვა"
diff --git a/poqm/kab/kconfig6_qt.po b/poqm/kab/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..4c96d73
--- /dev/null
@@ -0,0 +1,1069 @@
+# translation of kconfig.po to Kabyle
+# Athmane MOKRAOUI <butterflyoffire@protonmail.com>, 2024.
+# ButterflyOfFire <butterflyoffire@protonmail.com>, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-08 16:19+0100\n"
+"Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
+"Language-Team: Kabyle\n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n>1;\n"
+"X-Generator: Gtranslator 47.1\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ttxil-k·m nermes anedbal-ik·im n unagraw."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Afaylu n uswel \"%1\" ur yelli ara i tira.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Amezwar"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Uɣa&l"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Uḍ&fir"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "A&gejdan"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Amay&nut"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Asnulfu n yisemli amaynut"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ldi…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ldi isemli yellan"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ldi i&neggura"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ldi isemli d-yettwaldin tagara kan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Sekles"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Sekles isemli"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sekles &am…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Sekles isemli s yisem amaynut"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Erre&d"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Mdel"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Sekkeṛ isemli"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Sigge&z…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Siggez isemli"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Siggez tas&kant"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Sken-d taskant send asiggez n yisemli"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "I&mayl…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Ceyyeɛ isemli s yimayl"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Ffeɣ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ffeɣ seg usnas"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "E&rr-d"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Sefsex tigawt taneggarut"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Ale&s"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Ales-as i tigawt taneggarut yettwasefsxen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Gzem"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Gzem afran-nni ɣer tfelwit"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Nɣel"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Nɣel afran-nni ɣer tfelwit"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Senṭeḍ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Senṭeḍ agbur n tfelwit"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "S&feḍ"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Fren-iten &akk"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Kkes tafra&yt"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "A&f-d…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nadi uḍfi&r"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nadi u&zwir"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Se&mselsi…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Semɣer ɣer teɣzi t&amirant"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Sken-d isemli deg lqedd-is amiran"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Amwati n tiddi akken yella usebter"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Semɣeṛ akken ad d-yezg akked tiddi n usfaylu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Se&mɣeṛ"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "S&imẓi"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Se&mɣeṛ…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Fren aswir n usimɣeṛ"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Smi&ren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Asawen"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Ali"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ase&bter uzwir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ddu ɣer usebter yezrin"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Asebter uḍ&fir"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ddu ɣer usebter uḍfir"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ddu ɣer…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ddu ɣer usebter…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ddu ɣer i&zirig…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Asebter a&menzu"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ddu ɣer usebter amezwaru"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Asebter a&neggaru"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ddu ɣer usebter aneggaru"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Uɣa&l"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Tuɣalin ɣer deffir deg isemli"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Uḍ&fir"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Ddu ɣer zdat deg isemli"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Rnu t&acreḍt"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Ẓr&eg ticraḍ…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Ssefqed tirawt deg isemli"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Sken afeggag n wu&muɣ"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Sken neɣ ffer afeggag n wumuɣ"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Sken-d &tafeggagt n yifecka"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Sken-d neɣ ffer tafeggagt n yifecka"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "As&kar n ugdil aččuran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "S&wel inegzumen n unasiw…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Swe&l %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "S&wel ifeggagen n yifecka…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Swe&l ilɣa…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Tasemlit n useqdac n %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "D acu-&t wa?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "A&zen abug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Swel tutlayt…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Ɣ&ef %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Ɣef &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Kkes"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Sen&fel isem…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Si&weḍ-it ɣer tqecwalt"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Mu&dd tawsa"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ldi u&muɣ"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ldi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Amynut"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Mdel"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sekles"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Siggez"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ffeɣ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Gzem"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Nɣel"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Senṭeḍ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Senṭeḍ tafrant"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Fren-iten akk"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Kkes tafrayt"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Kkes awal ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Kkes awal ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Af-d"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nadi uḍfir"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nadi uzwir"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Semselsi"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Agejdan"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Tazwara"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Tagara"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Uḍfir"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Asawen"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Smiren"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Tazwara n yizirig"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Taggara n yizirig"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ddu ɣer izirig"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Sɛeddi awal ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Sɛeddi awal ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Rnu tacreḍt n usebter"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Semɣeṛ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Simẓi"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Askar n ugdil aččuran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Sken afeggag n wumuɣ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Rmed iccer d-iteddun"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Rmed iccer yezrin"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Tallalt"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "D acu-t wa?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Akemmel n uḍris"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Aferdis yezrin n tebdart"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Aferdis i d-iteddun deg tebdart"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ldi ineggura"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sekles am"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Siggez taskant"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Imayl"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Sfeḍ"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Semɣeṛ ɣer teɣzi tamirant"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Amwati n tiddi akken yella usebter"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Semɣeṛ"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ddu ɣer"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ddu ɣer usebter"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Uɣal ɣer deffir de isemli"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Ddu ɣer zdat deg isemli"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Ẓreg ticraḍ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Taɣdira"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Sken tafeggagt n ifecka"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Ssken-d afeggag n waddad"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Inegzumen n unasiw"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Swel asnas"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Swel ifeggagen n yifecka"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Swel ilɣa"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Azen abug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Swel tutlayt…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Ɣef usnas"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Ɣef KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Kkes"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Beddel isem"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Siweḍ-it ɣer tqecwalt"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Mudd tawsa"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Sken / Ffer ifuyla yeffren"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Snulfu-d akaram"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ldi umuɣ agejdan"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Afecku KDE i uleqqem n yifuyla n twila n useqdac"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Eǧǧ igmaḍ n tuffɣa n yisekripten"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Senqed ma yella afaylu n uswel yesra aleqqem"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "akaram"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Sken-d turagt n useɣẓan."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Tasarut i unadi"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Azal amezwaru"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Kkes tasarut yettwafernen ma yella tettwarmed"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sekles iɣewwaṛen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Beddel tutlayt n usnas"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Ismenyifen"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Ismawen-inek·inem"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "Imaylen-inek.inem"
diff --git a/poqm/kk/kconfig6_qt.po b/poqm/kk/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..198da4a
--- /dev/null
@@ -0,0 +1,1077 @@
+# translation of kwriteconfig.po to Kazakh
+#
+# Sairan Kikkarin <sairan@computer.org>, 2005, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-01 10:21-0400\n"
+"Last-Translator: Sairan Kikkarin <sairan@computer.org>\n"
+"Language-Team: Kazakh\n"
+"Language: kk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Жалпы баптау орнына <file> қолданылсын"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Ішінде іздейтін топ. Ішіндегі топтар үшін қайта қолданыңыз."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кілті"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Айнымалының түрі. Бульдік үшін \"bool\" деңіз, әйтпесе мәтін жолы деп "
+"саналады"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Жазылатын мән. Міндетті түрде болу керек, бос болса '' деп жазыңыз"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig жазулары - қоршау-орта скрипттері үшін"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig-ті негіздеген және жазылған"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/km/kconfig6_qt.po b/poqm/km/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..d00f57c
--- /dev/null
@@ -0,0 +1,1076 @@
+# translation of kwriteconfig.po to Khmer
+# auk piseth <piseth_dv@khmeros.info>, 2006.
+# Khoem Sokhem <khoemsokhem@khmeros.info>, 2007, 2008.
+# Eng Vannak <evannak@khmeros.info>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-06-24 10:38+0700\n"
+"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
+"Language-Team: Khmer <support@khmeros.info>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.11.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ប្រើ <file> ជំនួស​ឲ្យ​ការ​កំណត់​ជា​សកល"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ក្រុម​ត្រូវ​រក​មើល ។ ប្រើ​ដដែលៗ​សម្រាប់​ក្រុម​ខាង​ក្នុង ។"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ពាក្យ​គន្លឹះ​ដែល​ត្រូវ​ស្វែងរក"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ប្រភេទ​អថេរ ។ ប្រើ \"bool\" សម្រាប់​ប៊ូលីន បើ​ពុំ​នោះ​សោត វា​ត្រូវ​បាន​ចាត់​ទុក​ជា​ខ្សែ​អក្សរ ។"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "តម្លៃ​ដែល​ត្រូវ​សរសេរ ។ ដែល​ចាំបាច់ នៅ​លើ​សែល '' សម្រាប់​ទទេ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "សរសេរធាតុ KConfig - សម្រាប់​ប្រើ​ក្នុង​ស្គ្រីប​សែល"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "រក្សា​សិទ្ធិ​ឆ្នាំ ២០០១ ដោយ Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "បាន​សរសេរ kreadconfig នៅ​លើ​មូលដ្ឋាន​នេះ"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/kn/kconfig6_qt.po b/poqm/kn/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..dde1183
--- /dev/null
@@ -0,0 +1,1063 @@
+# translation of kwriteconfig.po to Kannada
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Shankar Prasad <svenkate@redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-07 16:11+0530\n"
+"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
+"Language-Team: Kannada <en@li.org>\n"
+"Language: kn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ಸಾರ್ವತ್ರಿಕ ಸಂರಚನೆಯ ಬದಲು <file> ಅನ್ನು ಉಪಯೋಗಿಸು"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ನೋಡಬೇಕಾದ ಪದ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ko/kconfig6_qt.po b/poqm/ko/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1dc1c28
--- /dev/null
@@ -0,0 +1,1098 @@
+# Translation of kwriteconfig to Korean.
+# Copyright (C) 2007 This_file_is_part_of_KDE
+# This file is distributed under the same license as the 2007 package.
+# SPDX-FileCopyrightText: 2007, 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-08-20 23:33+0200\n"
+"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"Language-Team: Korean <kde-kr@kde.org>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "시스템 관리자에게 연락하십시오."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "설정 파일 \"%1\"에 기록할 수 없습니다.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "기본값"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "뒤로(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "앞으로(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "홈(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "새로 만들기(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "새 문서 만들기"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "열기(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "기존 문서 열기"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "최근에 연 파일(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "최근에 열었던 문서 열기"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "저장(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "문서 저장"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "다른 이름으로 저장(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "다른 이름으로 문서 저장"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "되돌리기(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "저장되지 않은 문서의 변경 사항 되돌리기"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "닫기(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "문서 닫기"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "인쇄(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "문서 인쇄"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "인쇄 미리 보기(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "문서의 인쇄 미리 보기 표시"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "메일 전송(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "이메일로 문서 전송"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "끝내기(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "앱 끝내기"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "실행 취소(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "마지막 동작 실행 취소"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "다시 실행(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "마지막으로 취소한 동작 다시 실행"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "잘라내기(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "선택 항목을 클립보드로 잘라내기"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "복사(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "선택 항목을 클립보드에 복사"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "붙여넣기(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "클립보드 내용 붙여넣기"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "지우기(&L)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "모두 선택(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "선택 해제(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "찾기(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "다음 찾기(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "이전 찾기(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "바꾸기(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "실제 크기로 조정(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "문서를 실제 크기로 보기"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "쪽에 맞추기(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "쪽 크기를 창 크기에 맞게 조정"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "쪽 너비에 맞추기(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "쪽 너비를 창 너비에 맞게 조정"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "쪽 높이에 맞추기(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "쪽 높이를 창 높이에 맞게 조정"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "확대(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "축소(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "확대/축소(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "확대/축소 단계 선택"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "새로 고침(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "문서 새로 고침"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "위로(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "위로 이동"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "이전 쪽(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "이전 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "다음 쪽(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "다음 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "이동(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "쪽으로 이동(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "줄로 이동(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "첫 쪽(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "첫 번째 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "마지막 쪽(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "마지막 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "뒤로(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "문서에서 뒤로 이동"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "앞으로(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "문서에서 앞으로 이동"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "책갈피 추가(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "책갈피 편집(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "맞춤법 검사(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "문서의 맞춤법 검사"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "메뉴 표시줄 표시(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "메뉴 표시줄 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "도구 모음 표시(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "도구 모음 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "상태 표시줄 표시(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "상태 표시줄 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "전체 화면 모드(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "키보드 단축키 설정(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 설정(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "도구 모음 설정(&B)…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "알림 설정(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 도움말(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "이것에 대한 설명(&T)"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "버그 보고(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "언어 설정(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 정보(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE 정보(&K)"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "삭제(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "이름 바꾸기(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "휴지통으로 이동(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "기부하기(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "메뉴 열기(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "열기"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "새로 만들기"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "닫기"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "저장"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "인쇄"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "끝내기"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "실행 취소"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "다시 실행"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "잘라내기"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "복사"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "붙여넣기"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "선택 붙여넣기"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "모두 선택"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "선택 해제"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "이전 단어 삭제"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "다음 단어 삭제"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "찾기"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "다음 찾기"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "이전 찾기"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "바꾸기"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "홈"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "시작"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "끝"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "이전"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "다음"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "위로"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "뒤로"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "앞으로"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "새로 고침"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "줄 시작"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "줄 끝"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "줄로 이동"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "이전 단어"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "다음 단어"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "책갈피 추가"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "확대"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "축소"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "전체 화면 모드"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "메뉴 표시줄 표시"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "다음 탭 활성화"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "이전 탭 활성화"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "도움말"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "이것에 대한 설명"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "텍스트 완성"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "이전 완성 일치"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "다음 완성 일치"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "하위 문자열 완성"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "목록의 이전 항목"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "목록의 다음 항목"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "최근 항목 열기"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "다른 이름으로 저장"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "되돌리기"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "인쇄 미리 보기"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "메일"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "지우기"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "실제 크기로 조정"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "쪽 맞춤"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "폭 맞춤"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "높이 맞춤"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "확대/축소"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "이동"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "쪽으로 이동"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "문서 뒤로"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "문서 앞으로"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "책갈피 편집"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "맞춤법 검사"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "도구 모음 표시"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "상태 표시줄 표시"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "키 바인딩"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "앱 설정"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "도구 모음 설정"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "알림 설정"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "버그 보고"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "언어 설정…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "앱 정보"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE 정보"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "삭제"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "이름 바꾸기"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "휴지통으로 이동"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "기부하기"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "숨김 파일 표시/숨기기"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "폴더 만들기"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "주 메뉴 열기"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "상황에 맞는 메뉴 열기"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "사용자 설정 파일을 업데이트하는 KDE 도구"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "스크립트 출력 결과 저장"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"단위 테스트 전용입니다. 완료된 항목을 기록하지 않으며 재실행 시 매번 스크립트"
+"를 다시 실행함"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "설정 파일이 업데이트가 필요한 지 여부 확인"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "업데이트 동작을 읽을 파일"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "파일을 생성할 디렉터리 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "디렉터리"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "소프트웨어 라이선스를 표시합니다."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "전역 설정 대신 <file> 사용하기"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"찾아볼 그룹. 루트 그룹을 지정하려면 \"<default>\", 그룹 안의 그룹에서는 재귀"
+"적으로 사용하십시오."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "찾을 키"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "기본값"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "변수 형식"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"그룹 이름은 비어 있을 수 없습니다. 루트 그룹을 지정하려면 \"<default>\"를 사"
+"용하십시오"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"변수의 형식입니다. 참/거짓에 대해서는 \"bool\"을 사용해야 하며, 그렇지 않으"
+"면 문자열로 취급합니다"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "활성화된 경우 지정한 키 삭제"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"기록할 값입니다. 필수적이며, 셸에서 빈 값을 사용하려면 ''을 사용하십시오"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "오늘의 팁"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "유닛 테스트 전용: 사용자의 실제 파일에 접근하지 않도록 테스트 디렉터리 사"
+#~ "용"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "저장 옵션"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "프로그램 언어 변경"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "설정"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig 항목을 작성합니다 - 셸 스크립트에 사용합니다"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "기반이 되는 kreadconfig을 작성했습니다"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ku/kconfig6_qt.po b/poqm/ku/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7b7e2fd
--- /dev/null
@@ -0,0 +1,1082 @@
+# translation of kwriteconfig.po to Kurdish
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Erdal Ronahi <erdal.ronahi@nospam.gmail.com>, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-03 06:30+0200\n"
+"Last-Translator: Omer Ensari <oensari@gmail.com>\n"
+"Language-Team: Kurdish <ku@li.org>\n"
+"Language: ku\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Kurdish\n"
+"X-Poedit-SourceCharset: utf8\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Şûna veavakirina giştî <file> bi kar bîne"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Kom ji bo nêrînê. Ji bo komên hertim xera dibin bi kar bîne."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Mifte ji bo nêrînê"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Teşeyê nirxandinê. Ji bo boolean \"bool\" bi kar bîne, wekî din ev tê mîna "
+"hevok bê nasîn"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Nirx ji bo nivîsînê. Pêwist e, di termînal de ji bo yê vala \" bi kar bîne "
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Têketinên KConfig binivîse - ji bo bi kar anîna skrîptên shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig di bingeha vê de nivîsî"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/lb/kconfig6_qt.po b/poqm/lb/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1ff46d4
--- /dev/null
@@ -0,0 +1,1082 @@
+# translation of kwriteconfig.po to Luxembourgish
+# Michel Ludwig <michel.ludwig@kdemail.net>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-12-24 11:51+0100\n"
+"Last-Translator: Michel Ludwig <michel.ludwig@kdemail.net>\n"
+"Language-Team: Luxembourgish <kde-i18n-lb@kde.org>\n"
+"Language: lb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Benotz <file> amplaz vun der globaler Configuratiounsdatei"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Schlëssel no deem gesicht soll ginn"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ vun der Variabel. Benotzt \"bool\" fir de Boolschen Typ, anerefalls gëtt "
+"se als eng Zeechekette behandelt"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"De Wäert dee geschriwwe soll ginn, obligatoresch. Bei enger Shell benotzt \" "
+"fir en eidele Wäert unzeginn"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Schreift KConfig-Entréen - zur Benotzung a Shellskripter"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Michel Ludwig"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "michel.ludwig@kdemail.net"
diff --git a/poqm/lt/kconfig6_qt.po b/poqm/lt/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..b0439a8
--- /dev/null
@@ -0,0 +1,1078 @@
+# translation of kwriteconfig.po to
+# Donatas Glodenis <dgvirtual@akl.lt>, 2005.
+# Liudas Ališauskas <liudas@aksioma.lt>, 2014.
+# Mindaugas Baranauskas <opensuse.lietuviu.kalba@gmail.com>, 2016, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-10 03:03+0300\n"
+"Last-Translator: Moo\n"
+"Language-Team: Lithuanian <kde-i18n-lt@kde.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n"
+"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Susisiekite su sistemos administratoriumi."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfigūracijos failas „%1“ nėra skirtas rašymui.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Numatytasis"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atgal"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Pirmyn"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Pradinis puslapis"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Naujas"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Sukurti naują dokumentą"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "At&verti…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Atverti esamą dokumentą"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Atverti &paskiausiai naudotą"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Atverti paskiausiai atvertą dokumentą"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Į&rašyti"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Įrašyti dokumentą"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Įrašyti &kaip…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Įrašyti dokumentą nauju pavadinimu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Su&grąžinti"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Sugrąžinti neįrašytus dokumente atliktus pakeitimus"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Užverti"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Užverti dokumentą"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "S&pausdinti…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Spausdinti dokumentą"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Spaudinio peržiūra"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Rodyti dokumento spaudinio peržiūrą"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Siųsti paštu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Siųsti dokumentą paštu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Išjungti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Išjungti programą"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Atšaukti"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Atšaukti paskutinį veiksmą"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "G&rąžinti"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Grąžinti paskutinį atšauktą veiksmą"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Iškirp&ti"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Iškirpti žymėjimą į iškarpinę"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopijuoti"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopijuoti žymėjimą į iškarpinę"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Į&dėti"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Įdėti iškarpinės turinį"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Išva&lyti"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Pažymėti &viską"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Panaikinti žymėjimą"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Ieškoti…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Ieškoti &kito"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ieškoti &ankstesnio"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Pa&keisti…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Keisti mastelį į &faktinį dydį"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Rodyti dokumentą faktiniu dydžiu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Talpinti į puslapį"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Mastelis toks, kad puslapis tilptų lange"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Talpinti į puslapio &plotį"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Mastelis toks, kad puslapio plotis tilptų lange"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Talpinti į puslapio &aukštį"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Mastelis toks, kad puslapio aukštis tilptų lange"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "D&idinti"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Mažinti"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Mastelis…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Pasirinkite mastelio lygį"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Į&kelti iš naujo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Įkelti dokumentą iš naujo"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Aukštyn"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Eiti aukštyn"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ankstesnis &puslapis"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Peršokti į ankstesnį puslapį"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Kitas puslapis"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Peršokti į kitą puslapį"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Eiti į…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Eiti į puslapį…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Eiti į eilutę…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pirmas puslapis"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Peršokti į pirmą puslapį"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "P&askutinis puslapis"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Peršokti į paskutinį puslapį"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atgal"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Eiti dokumente atgal"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Pirmyn"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Eiti dokumente pirmyn"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Pridėti žymelę"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Taisyti žymeles…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Rašybos tikrinimas…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Tikrinti rašybą dokumente"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Rodyti &meniu juostą"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Rodyti arba slėpti meniu juostą"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Rodyti į&rankių juostą"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Rodyti arba slėpti įrankių juostą"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Rodyti &būsenos juostą"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Rodyti arba slėpti būsenos juostą"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Rodyti &visame ekrane"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfigūruoti &sparčiuosius klavišus…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfigūruoti %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigūruoti įrankių &juostas…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigūruoti pra&nešimus…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &vadovas"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kas &tai yra?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "P&ranešti apie programos klaidą…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigūruoti ka&lbą…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Apie %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Apie &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Iš&trinti"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Pe&rvadinti…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Per&kelti į šiukšlinę"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Pa&remti"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Atverti &meniu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Atverti"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Naujas"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Užverti"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Įrašyti"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Spausdinti"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Išeiti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Atšaukti"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Grąžinti"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Iškirpti"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopijuoti"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Įdėti"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Įdėti žymėjimą"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Pažymėti viską"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Nuimti žymėjimą"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ištrinti žodį atgal"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ištrinti žodį pirmyn"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Rasti"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Rasti kitą"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Rasti ankstesnį"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Pakeisti"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Į pradžią"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Pradžia"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Pabaiga"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Ankstesnis"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Kitas"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Aukštyn"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atgal"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Pirmyn"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Įkelti iš naujo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Eilutės pradžia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Eilutės pabaiga"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Eiti į eilutę"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Žodis atgal"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Žodis pirmyn"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pridėti žymelę"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Didinti"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Mažinti"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Viso ekrano veiksena"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Rodyti meniu juostą"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktyvuoti kitą kortelę"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktyvuoti ankstesnę kortelę"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pagalba"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kas tai"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksto baigimas"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Ankstesnis baigimo atitikmuo"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Kitas baigimo atitikmuo"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Poeilučio baigimas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Ankstesnis elementas sąraše"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Kitas elementas sąraše"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Atverti paskiausiai naudotą"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Įrašyti kaip"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Sugrąžinti"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Spaudinio peržiūra"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Paštas"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Išvalyti"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Keisti mastelį į faktinį dydį"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Talpinti į puslapį"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Talpinti į puslapio plotį"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Talpinti į puslapio aukštį"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Mastelis"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Eiti į"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Eiti į puslapį"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumentas atgal"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumentas pirmyn"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Taisyti žymeles"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Rašyba"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Rodyti įrankių juostą"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Rodyti būsenos juostą"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klavišų susiejimai"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigūruoti programą"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigūruoti įrankių juostas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigūruoti pranešimus"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Pranešti apie klaidą"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigūruoti kalbą…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Apie programą"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Apie KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ištrinti"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Pervadinti"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Perkelti į šiukšlinę"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Paremti"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rodyti/Slėpti paslėptus failus"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Sukurti aplanką"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Atverti pagrindinį meniu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Atverti kontekstinį meniu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE įrankis, skirtas atnaujinti naudotojo konfigūracijos failus"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Saugoti išvesties rezultatus nuo scenarijų"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tik vienetų išbandymams: nerašyti atliktus įrašus, kad tokiu būdu su "
+"kiekvienu paleidimu iš naujo, scenarijai būtų vėl vykdomi"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Tikrinti, ar pačiam konfigūracijos failui reikia atnaujinimo"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Failas(-ai) iš kurio skaityti atnaujinimo instrukcijas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalogas, į kurį generuoti failus [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalogas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Rodyti programinės įrangos licenciją."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Naudoti <file> vietoje visuotines konfigūracijos"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupė, kurioje ieškoti. Naudokite „<default>“ šaknies grupei arba naudokite "
+"pakartotinai kelis kartus įdėtinėms grupėms."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Raktas, kurio ieškoti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Numatytoji reikšmė"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Kintamojo tipas"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupės pavadinimas negali būti tuščias, šaknies grupei naudokite „<default>“"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Kintamojo tipas. Naudokite „bool“ loginiam tipui, priešingu atveju su juo "
+"bus elgiamasi kaip su eilute"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Jei įjungta, ištrinti paskirtąjį klavišą"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Reikšmė, kurią įrašyti. Privaloma, apvalkale naudokite '' jei tuščia"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dienos patarimas"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Tik įtaisų testavimams: naudokite testavimo katalogus, kad laikytumėtės "
+#~ "atokiau nuo tikrų naudotojo failų"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Įrašyti parinktis"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Pakeisti programos kalbą"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Nuostatos"
diff --git a/poqm/lv/kconfig6_qt.po b/poqm/lv/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..20e6ae6
--- /dev/null
@@ -0,0 +1,1076 @@
+# translation of kwriteconfig.po to Latvian
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Aleksejs Zosims <locale@aleksejs.id.lv>, 2007.
+# Maris Nartiss <maris.kde@gmail.com>, 2007, 2008.
+# SPDX-FileCopyrightText: 2024 Toms Trasuns <toms.trasuns@posteo.net>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-28 13:36+0300\n"
+"Last-Translator: Toms Trasuns <toms.trasuns@posteo.net>\n"
+"Language-Team: Latvian <kde-i18n-doc@kde.org>\n"
+"Language: lv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lūdzu, sazinieties ar savu sistēmas administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfigurācijas datne „%1“ nav rakstāma.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Noklusējums"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atpakaļ"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Uz priekšu"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Mājas"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Jauns"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Izveidot jaunu dokumentu"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "A&tvērt…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Atvērt pastāvošu dokumentu"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Atvērt &pastāvošu"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Atvērt dokumentu, kas jau nesen bija atvērts"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Saglabāt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Saglabāt dokumentu"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Saglabāt &kā…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Saglabāt dokumentu ar citu nosaukumu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "At&saukt"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Atsaukt nesaglabātās dokumenta izmaiņas"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Aizvērt"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Aizvērt dokumentu"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Drukāt..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Drukāt dokumentu"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Drukas priekš&skatījums"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Rādīt, kā izskatīsies izdrukāts dokuments"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Pasts…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Nosūtīt dokumentu pa pastu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Iziet"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Iziet no programmas"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Atsaukt"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Atsaukt pēdējo darbību"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "A&tatsaukt"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Atatsaukt pēdējo atsaukto darbību"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "I&zgreizt"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Izgriezt atlasi un ievietot starpliktuvē"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopēt"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopēt atlasi uz starpliktuvi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Ielīmēt"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Ielīmēt starpliktuves saturu"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "N&otīrīt"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Atlasīt &visu"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Noņemt atlasi"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Meklēt…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Atrast &nākamo"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Atrast &iepriekšējo"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Aizvietot…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Tuvināt līdz &faktiskajam izmēram"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Skatīt dokumentu tā faktiskajā izmērā"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ietilpināt lapu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ietilpināt lapu &platumā"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapas platumu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ietilpināt lapas &augstumu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapas augstumu"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Tuvināt"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Tā&lināt"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Tālummaiņa…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Atlasīt tālummaiņas līmeni"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Pārlādēt"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Pārlādēt dokumentu"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Augšup"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Iet augšup"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Iepriekšējā lapa"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Iet uz iepriekšējo lapu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nākamā lapa"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iet uz nākamo lapu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Iet uz…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Iet uz lapu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Iet uz rindu…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pirmā lapa"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iet uz pirmo lapu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Pēdējā lapa"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Iet uz pēdējo lapu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atpakaļ"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Iet atpakaļ dokumentā"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Uz priekšu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Iet uz priekšu dokumentā"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Pievienot grāmatzīmi"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Rediģēt grāmatzīmes..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Pareizrakstība…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Pārbaudīt dokumentā pareizrakstību"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Rādīt &izvēļņu joslu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Rādīt vai paslēpt izvēļņu joslu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Rādīt &rīkjoslu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Rādīt vai slēpt rīkjoslu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Rādīt s&tatusa joslu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Rādīt vai slēpt statusa joslu"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Pilnekrāna &režīms"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfigurēt &tastatūras saīsnes…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfigurēt „%1“…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigurēt rīk&joslas..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigurēt &paziņojumus…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &rokasgrāmata"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kas &tas ir?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Ziņot par kļūdu..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigurēt &valodu…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Par „%1“"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Par &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Dzēst"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Pārdēvēt…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pārvietot &uz atkritni"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Zie&dot"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Atvērt &izvēlni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Atvērt"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Jauns"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Aizvērt"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Saglabāt"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drukāt"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Iziet"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Atsaukt"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Atatsaukt"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Izgriezt"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopēt"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Ielīmēt"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Ielīmēt atlasi"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Atlasīt visu"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Noņemt atlasi"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Dzēst vārdu uz aizmuguri"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Dzēst vārdu uz priekšu"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Atrast"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Atrast nākamo"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Atrast iepriekšējo"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Aizvietot"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Mājas"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Sākt"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Beigt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Iepriekšējais"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nākamais"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Augšup"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atpakaļ"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Uz priekšu"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Pārlādēt"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rindas sākums"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rindas beigas"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iet uz rindu"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Atpakaļ vārds"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Uz priekšu vārds"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pievienot grāmatzīmi"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Tuvināt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Tālināt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Pilnekrāna režīms"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Rādīt izvēļņu joslu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivizēt jaunu cilni"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivizēt iepriekšējo cilni"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Palīdzība"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kas tas ir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksta pabeigšana"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Iepriekšējā pabeigšanas atbilsme"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nākamā pabeigšanas atbilsme"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Apakšvirknes pabeigšana"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Iepriekšējais vienums sarakstā"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nākamais vienums sarakstā"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Atvērt neseno"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Saglabāt kā"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Atsaukt"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Drukas priekšiestatījums"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pasts"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Notīrīt"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Tuvināt līdz faktiskajam izmēram"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ietilpināt lapu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ietilpināt platumā"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ietilpināt augstumā"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Tālummaiņa"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Iet uz"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Iet uz lapu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokuments atpakaļ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokuments uz priekšu"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediģēt grāmatzīmes"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pareizrakstība"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Rādīt rīkjoslu"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Rādīt statusa joslu"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastatūras saīsinājumi"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigurēt programmu"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigurēt rīkjoslas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigurēt paziņojumus"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Ziņot par kļūdu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigurēt valodu…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Par programmu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Par KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Dzēst"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Pārdēvēt"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Pārvietot uz atkritni"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ziedot"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rādīt/slēpt slēptas datnes"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Izveidot mapi"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Atvērt galveno izvēlni"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Atvērt konteksta izvēlni"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE rīkos lietotāja konfigurācijas datņu atjaunināšanai"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Paturēt skriptu izvades rezultātus"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tikai vienību testiem: nerakstīt pabeigtos ierakstus, lai ar katru atkārtotu "
+"palaišanu, skripti tiktu izpildīti no jauna"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Pārbaudīt, vai konfigurācijas datnei pašai nepieciešams atjauninājums"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Datne(-es), no kura(-ām) nolasīt atjauninājuma instrukcijas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mape, kurā ģenerēt datnes [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mape"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Parādīt programmatūras licenci."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Lietot <file> globālās konfigurācijas vietā"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupa, kurā ielūkoties. Izmantojiet „<default>“ saknes grupai vai "
+"izmantojiet atkārtoti iegultām grupām."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Meklējamā atslēga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Noklusējuma vērtība"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Mainīgā tips"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupas nosaukums nevar būt tukšs. Saknes grupai izmantojiet „<default>“."
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Mainīgā tips. Lietojiet „bool“ loģiskajiem mainīgajiem, citādi tie tiek "
+"uztverti kā rindiņas mainīgie"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ja ieslēgts dzēst paredzēto atslēgu"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vērtība, ko rakstīt. Obligāta, čaulā izmantojiet '', ja vajag tukšu vērtību."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Rakstiet KConfig ierakstus izmantošanai čaulas skriptos"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luiss Pedro Koeljū (Luís Pedro Coelho)"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Uzrakstīja kreadconfig, uz kā viss šis balstās"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luiss Pedro Koeljū (Luís Pedro Coelho)"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhards Rozenkrencers (Bernhard Rosenkraenzer)"
diff --git a/poqm/mai/kconfig6_qt.po b/poqm/mai/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..3c447b2
--- /dev/null
@@ -0,0 +1,1077 @@
+# translation of kwriteconfig.po to maithili
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sangeeta Kumari <sangeeta09@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-12 20:08+0530\n"
+"Last-Translator: \n"
+"Language-Team: maithili <en@li.org>\n"
+"Language: mai\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "इस्तेमाल करू <file> बजाए वैश्विक कान्फिग केर"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुँजी जकरा देखल जएनाइ अछि"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चर क' प्रकार. इस्तेमाल करू \"bool\" बूलिये केर लेल, अन्यथा ई एकटा स्ट्रिंग जहिना बुझल "
+"जएताह"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जे लिखल जएनाइ अछि. अनिवार्य,  शेलमे खाली क' लेल इस्तेमाल करू ''  क'"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कान्फिग प्रविष्टि - शेल स्क्रिप्ट केर उपयोगमे"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हैट इंक. तथा लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकान्फिग लिखलक जकरा पर ई आधारित अछि"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
diff --git a/poqm/mk/kconfig6_qt.po b/poqm/mk/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ef9ada6
--- /dev/null
@@ -0,0 +1,1078 @@
+# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+# Bozidar Proevski <bobibobi@freemail.com.mk>, 2004, 2007, 2008.
+# translation of kwriteconfig.po to Macedonian
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-08 11:36+0200\n"
+"Last-Translator: Bozidar Proevski <bobibobi@freemail.com.mk>\n"
+"Language-Team: Macedonian <mkde-l10n@lists.sourceforge.net>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : "
+"2;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи <датотека> наместо глобалната конфигурација"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група кај што ќе се бара. Повторувајте за вгнездени групи."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Клуч кој се бара"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип на променлива. Користете „bool“ за логичка, инаку ќе биде земена како "
+"низа"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вредноста за запис. Задолжително, во школка користете '' за празно"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Запиши ги ставките од KConfig - за користење во скрипти за школка"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. и Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Го напиша kreadconfig врз кој е базирано ова"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ml/kconfig6_qt.po b/poqm/ml/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..61c01d4
--- /dev/null
@@ -0,0 +1,1072 @@
+# translation of kwriteconfig.po to
+# Copyright (C) 2008 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kdebase package.
+# ANI PETER|അനി പീറ്റര്‍ <peter.ani@gmail.com>, 2008.
+# Hari|ഹരി  Vishnu | വിഷ്ണു <harivishnu@gmail.com>, 2008.
+# Praveen Arimbrathodiyil <pravi.a@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-29 01:50-0800\n"
+"Last-Translator: Praveen Arimbrathodiyil <pravi.a@gmail.com>\n"
+"Language-Team: SMC <smc.org.in>\n"
+"Language: ml\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ഗ്ലോബല്‍ കോണ്‍ഫിഗിനു് പകരം <file> ഉപയോഗിക്കുക"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ഉള്ളില്‍ തിരയേണ്ട കൂട്ടങ്ങള്‍. നെസ്ടഡ് കൂട്ടങ്ങള്‍ക്കായ് വീണ്ടും വീണ്ടും ഉപയോഗിക്കുക."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "തിരയേണ്ട സൂചന"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"വേരിയബിള്‍ തരം. ബൂലിയെന്‍ ആണെങ്കില്‍  \"bool\" ഉപയോഗിക്കുക, അല്ലെങ്കില്‍ അതൊരു സ്ട്രിങ്ങ് ആയി "
+"എടുക്കപെടും"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "എഴുതേണ്ട വില (അക്കം). നിര്‍ബന്ധമാണു്‌, ഷെല്ലില്‍ ശൂന്യത്തിനു് '' ഉപയോഗിയ്ക്കുക"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "കെ-കോണ്‍ഫിഗ് എണ്ട്രികള്‍ എഴുതുക - ഷെല്‍ സ്ക്രിപ്ടുകളില്‍ ഉപയോഗിക്കാനായ്"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 റെഡ് ഹാറ്റ്, ഇന്‍കും ലൂയി പെഡ്രോ കോലോയും"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "ഇതു അടിസ്ഥാനപെടുത്തുന്ന കെ-റീഡ്-കോണ്‍ഫിഗ് എഴുതി"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "ലൂയി പെഡ്രോ കോലോ"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "ബെര്‍നാഡ് റോസന്‍ക്രെന്‍സര്‍"
diff --git a/poqm/mr/kconfig6_qt.po b/poqm/mr/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..23d8fac
--- /dev/null
@@ -0,0 +1,1080 @@
+# translation of kwriteconfig.po to marathi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2009.
+# Chetan Khona <chetan@kompkin.com>, 2012, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2013-02-18 13:00+0530\n"
+"Last-Translator: Chetan Khona <chetan@kompkin.com>\n"
+"Language-Team: Marathi <kde-i18n-doc@kde.org>\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "जागतिक संयोजना ऐवजी <file> चा वापर करा"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "शोधण्याचा समूह. आंतरीक समूह करिता पुन्हा पुन्हा वापरा."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "शोधण्याची कळ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"परिवर्तनीयाचा प्रकार. boolean प्रकार असल्यास \"bool\" वापरा, अन्यथा string प्रकार "
+"गृहीत धरला जाईल."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लिहिण्याकरिताचे पाठ्य. दाखल करणे अनिवार्य. रिकामे असल्यास '' वापरा."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig नोंद लिहा - शेल स्क्रिप्ट्स मध्ये वापरासाठी"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "ज्यावर हे आधारित आहे ते kreadconfig लिहीले"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ms/kconfig6_qt.po b/poqm/ms/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..9258a56
--- /dev/null
@@ -0,0 +1,1079 @@
+# kwriteconfig Bahasa Melayu (Malay) (ms)
+# Copyright (C) K Desktop Environment
+#
+# Muhammad Najmi bin Ahmad Zabidi <md_najmi@yahoo.com>, 2003.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2004, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-08-28 00:17+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <kedidiemas@yahoogroups.com>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Guna <file> dan bukan tetapan global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Kumpulan untuk dicari. Guna berulang untuk kumpulan bersarang."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kekunci untuk carian"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Jenis pembolehubah. Guna \"bool\" untuk  boolean, jika tidak cara "
+"pengendalian akan menggunakan rentetan (string)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Nilai untuk ditulis. Wajib, pada shell gunakan '' untuk kosong"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Tulis input KConfig -- untuk kegunaan skrip cengkerang"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Menulis kreadconfig dimana ini diasaskan"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/nb/kconfig6_qt.po b/poqm/nb/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..3b65e2f
--- /dev/null
@@ -0,0 +1,1111 @@
+# Translation of kconfig6_qt to Norwegian Bokmål
+#
+# Knut Yrvin <knut.yrvin@gmail.com>, 2003.
+# Bjørn Kvisli <bjorn.kvisli@gmail.com>, 2007.
+# Bjørn Steensrud <bjornst@skogkatt.homelinux.org>, 2008, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2014-09-25 18:02+0200\n"
+"Last-Translator: Bjørn Steensrud <bjornst@skogkatt.homelinux.org>\n"
+"Language-Team: Norwegian Bokmål <l10n-no@lister.huftis.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Kontakt systemadministratoren din."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Oppsettsfila «%1» er ikke skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Tilbake"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Forover"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Hjem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Åpne"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Lagre"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lagre som"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Lukk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv ut"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Forhåndsvisning av utskrift"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-post"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Om programmet"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Angre"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Tøm"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Velg alt"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Fravelg"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Finn"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finn neste"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finn forrige"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Erstatt"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Tilpass til bredden"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpass til høyden"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Forstørr"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Forminsk"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Forstørre/-minske"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Velg alt"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Opp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Tilbake"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Forover"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Rediger bokmerker"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Stavekontroll"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Fullskjermskjøring"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Sett opp verktøylinjer"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Sett opp varslinger"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hva er dette"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Rapporter feil"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Om KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Åpne"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Lukk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lagre"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Angre"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gjør om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lim inn utvalg"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Velg alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fravelg"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slett ord bakover"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slett ord framover"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finn"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finn neste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finn forrige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Erstatt"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hjem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begynnelse"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Forrige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Neste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Opp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbake"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Forover"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Last på nytt"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Begynnelsen av linja"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutten på linja"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Et ord bakover"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Et ord forover"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Forstørr"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Forminsk"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskjermskjøring"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gå til neste fane"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gå til forrige fane"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjelp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hva er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfullføring"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Forrige fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Neste fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delstrengfullføring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Forrige element i lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Neste element i lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lagre som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Forhåndsvisning av utskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tøm"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Tilpass til bredden"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Tilpass til høyden"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Forstørre/-minske"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument bakover"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument forover"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediger bokmerker"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindinger"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Sett opp verktøylinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Sett opp varslinger"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapporter feil"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktøy for å oppdatere brukerens oppsettsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behold sluttresultatet fra skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sjekk om oppsettsfila selv trenger oppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappe der filer skal genereres [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis programvarelisens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Bruk <fil> istedenfor globalt oppsett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nøkkel å se etter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardverdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeltype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Bruk \"bool\" for bolske verdier, ellers blir det behandlet "
+"som en tekststreng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Verdien som skal skrives. Obligatorisk, i et skall må du bruke '' for tomme "
+"verdier"
diff --git a/poqm/nds/kconfig6_qt.po b/poqm/nds/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..0f79b5d
--- /dev/null
@@ -0,0 +1,1267 @@
+# Sönke Dibbern <s_dibbern@web.de>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2014-08-13 00:11+0200\n"
+"Last-Translator: Sönke Dibbern <s_dibbern@web.de>\n"
+"Language-Team: Low Saxon <kde-i18n-nds@kde.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 1.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Snack bitte Dien Systeempleger an."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "De Instellen-Datei „%1“ lett sik nich schrieven.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Torüch"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Vörut"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Tohuus"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Opmaken"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sekern"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sekern as"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Torüchdreihen"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tomaken"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Drucken"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Druckvöransicht"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Nettpost"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Utmaken"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Wat över't Programm vertellen"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Torüchnehmen"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Koperen"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Infögen"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Leddig maken"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "All utsöken"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Köör torüchnehmen"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Söken"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nakamen söken"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Verleden söken"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Utwesseln"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Redig Grött"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Op Breed topassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Op Hööchde topassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Grötter maken"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Lütter maken"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Ansichtgrött"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "All utsöken"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Na baven"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Torüch"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Vörut"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Leesteken tofögen"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Leestekens bewerken"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Klookschriever"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Heelschirmbedrief"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Warktüüchbalkens instellen"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Wat is dat"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Fehler künnig maken"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Över KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Över KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opmaken"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nieg"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tomaken"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sekern"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drucken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Utmaken"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Torüchnehmen"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Wedderhalen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Knippen"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Koperen"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Infögen"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Köör infögen"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "All utsöken"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Köör torüchnehmen"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Verleden Woort wegdoon"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Nakamen Woort wegdoon"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Söken"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nakamen söken"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Verleden söken"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Utwesseln"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Tohuus"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Anfang"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Enn"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Verleden"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nakamen"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Na baven"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Torüch"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vörut"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Nieg laden"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Reeganfang"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Reegenn"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Een Woort torüch"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Een Woort vörut"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Leesteken tofögen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Grötter maken"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Lütter maken"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Heelschirmbedrief"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Nakamen Paneel anmaken"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Verleden Paneel anmaken"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hülp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Wat is dat"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Text kompletteren"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Verleden Kompletteren"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nakamen Kompletteren"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Ünnertext kompletteren"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Verleden Listindrag"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nakamen Listindrag"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sekern as"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Torüchdreihen"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Druckvöransicht"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Nettpost"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Leddig maken"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Redig Grött"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Op Breed topassen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Op Hööchde topassen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ansichtgrött"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gahn"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokment torüch"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokment vörut"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Leestekens bewerken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Klookschriever"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tasttoornen"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Warktüüchbalkens instellen"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Fehler künnig maken"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Wat över't Programm vertellen"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Över KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-Warktüüch för't Opfrischen vun Bruker-Instellendateien"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skriptutgaven wohren"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kiek bitte na, wat de Instellendatei sülven opfrischt warrn mutt"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Orner, binnen den Dateien opstellt warrt [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "Orner"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Verlööfnis wiesen"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<Datei> ansteed de globalen Instellen bruken"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Koppel, binnen den Du kieken wullt. Bi inbett Koppeln mehrmaalig bruken."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Slötel, de söcht warrt"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardweert"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ vun de Variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ vun de Variable. Bruuk „bool“ för'n boolsche, anners warrt se as en "
+"Tekenkeed behannelt"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"De Weert, den Du schrieven wullt. Mutt angeven warrn. Op'n Konsool tweemaal "
+"Apostrof ('') bruken, wenn Du en leddig Weert angeven wullt."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tipp för Vundaag"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Instellen sekern"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Programmspraak wesseln"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Instellen"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-Indrääg schrieven - för Bruuk in Befehlsreegskripten"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hett kreadconfig schreven, wat de Grundlaag för dit Programm weer"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ne/kconfig6_qt.po b/poqm/ne/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ac35d2b
--- /dev/null
@@ -0,0 +1,1087 @@
+# translation of kwriteconfig.po to Nepali
+# Nabin Gautam <nabin@mpp.org.np>, 2006, 2007.
+# Kapil Timilsina <lipak21@gmail.com>, 2006.
+# Mahesh Subedi <submanesh@gmail.com>, 2007.
+# shyam krishna bal <shyamkrishna_bal@yahoo.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2007-08-20 11:57+0545\n"
+"Last-Translator: Nabin Gautam <nabin@mpp.org.np>\n"
+"Language-Team: Nepali <info@mpp.org.np>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n !=1\n"
+"X-Generator: KBabel 1.11.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "विश्वव्यापी कन्फिगको सट्टा <file> प्रयोग गर्नुहोस्"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "खोजीका लागि कुञ्जी"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चलको प्रकार । बुलियनका लागि \"bool\" प्रयोग गर्नुहोस् अन्यथा यसलाई स्ट्रिङको रूपमा "
+"व्यवहार गरिन्छ ।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लेख्ने मान । रित्तोका लागि '' शेल प्रयोगमा अनिवार्य"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "शेल स्क्रिप्ट प्रयोग गर्नका लागि केडीई कन्फिग प्रविष्टि लेख्नुहोस्"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड ह्याट, संस्था र लुइस पेड्रो कोइलहो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "यसमा आधारित केडीई पढ्ने कन्फिग लेखियो"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेड्रो कोइलहो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नान्ड रोजेनक्राएन्जर"
diff --git a/poqm/nl/kconfig6_qt.po b/poqm/nl/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..79317b6
--- /dev/null
@@ -0,0 +1,1073 @@
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Freek de Kruijf <freekdekruijf@kde.nl>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-05-22 13:48+0200\n"
+"Last-Translator: Freek de Kruijf <freekdekruijf@kde.nl>\n"
+"Language-Team: \n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Neem contact op met uw systeembeheerder."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Configuratiebestand \"%1\" is niet schrijfbaar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standaard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Terug"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vooruit"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nieuw"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Nieuw document aanmaken"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Openen…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Open een bestaand document"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Recent openen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Een recent geopend document openen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Op&slaan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Document opslaan"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Opslaan &als…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Document opslaan onder een nieuwe naam"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Beginwaar&de"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Niet opslagen wijzigingen in document terugdraaien"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Sl&uiten"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Document sluiten"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Afdrukken…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Document afdrukken"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Afdruk&voorbeeld"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Een afdrukvoorbeeld van het document tonen"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Document per e-mail verzenden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "A&fsluiten"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Toepassing afsluiten"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Ongedaan maken"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Laatste actie ongedaan maken"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Opnie&uw"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Laatste ongedaan gemaakte actie opnieuw uitvoeren"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Kni&ppen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Selectie knippen naar het klembord "
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiëren"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Selectie kopiëren naar het klembord"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "P&lakken"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Inhoud klembord plakken"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "W&issen"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Alles selecteren"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&lecteren"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Zoeken…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Vol&gende zoeken"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Vo&rige zoeken"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ve&rvangen…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoomen naar &actuele grootte"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Document in zijn actuele grootte bekijken"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Passend in pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoomen naar passend maken in het venster"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Passend in pagina&breedte"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoomen naar breedte passend maken in het venster"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Passend in pagina&hoogte"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoomen naar hoogte passend maken in het venster"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Inzoomen"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Uitzoomen"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoomen…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Zoomniveau selecteren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Ve&rnieuwen"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Document vernieuwen"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Omhoog"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Omhoog"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Vorige pagina"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Naar vorige pagina gaan"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "V&olgende pagina"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Naar volgende pagina gaan"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ga naar…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ga naar pagina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ga naar regel…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Eerste pagina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Naar eerste pagina gaan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Laatste pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Naar laatste pagina gaan"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Terug"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Terug gaan in het document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vooruit"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vooruit gaan in het document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Bladwijzer &toevoegen"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Bladwijzers &bewerken…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Spellingcontrole…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Spelling controleren in het document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menubalk tonen"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menubalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Werkbalk tonen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Werkbalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "St&atusbalk tonen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusbalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modus V&olledig scherm"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Sne&ltoetsen configureren…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 &configureren %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Werk&balken configureren…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Meldingen configureren…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &handboek"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Wat is di&t?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Bug &rapporteren…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Taa&l configureren…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Info over %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Over &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Verwij&deren"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "He&rnoemen…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Naar prullenbak verplaatsen"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doneren"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menu openen"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Openen"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nieuw"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sluiten"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Opslaan"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Afdrukken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Afsluiten"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ongedaan maken"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Opnieuw"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Knippen"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiëren"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Plakken"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Selectie plakken"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Alles selecteren"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Selectie opheffen"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Woord achterwaarts verwijderen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Woord voorwaarts verwijderen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Zoeken"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Volgende zoeken"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Zoek vorige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Vervangen"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begin"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Einde"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Vorige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Volgende"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Omhoog"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Terug"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vooruit"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Herladen"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Begin van regel"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Einde van regel"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ga naar regel"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Woord achterwaarts"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Woord voorwaarts"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Bladwijzer toevoegen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Inzoomen"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Uitzoomen"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Volledig schermmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menubalk tonen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Volgend tabblad activeren"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Vorig tabblad activeren"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Help"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Wat is dit"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekst aanvullen"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Vorige overeenkomende aanvulling"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Volgende overeenkomende aanvulling"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Subtekstaanvulling"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Vorig item in de lijst"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Volgend item in de lijst"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Recent openen"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Opslaan als"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Terugdraaien"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Afdrukvoorbeeld"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Wissen"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoomen naar actuele grootte"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Passend in pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Passend in breedte"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Passend in hoogte"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoomen"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ga naar"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ga naar pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document teruggaan"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document vooruitgaan"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Bladwijzers bewerken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Spelling"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Werkbalk tonen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusbalk tonen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Toetsenbindingen"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Toepassingen configureren"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Werkbalken instellen"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Meldingen instellen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Bug rapporteren"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Taal configureren…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Info over programma"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Over KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Hernoemen"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Naar prullenbak verplaatsen"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doneren"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Verborgen bestanden tonen/verbergen"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Map aanmaken"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Hoofdmenu openen"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Contextmenu openen"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE-programma voor het bijwerken van de gebruikers' configuratiebestanden"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Uitvoerresultaten van scripts behouden"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Alleen voor testen met eenheden: de gedane items niet schrijven, zodat met "
+"elke keer opnieuw uitvoeren, de scripts opnieuw worden uitgevoerd"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Controleren of het configuratiebestand zelf bijgewerkt dient te worden"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Bestand(en) met instructies voor bijwerken"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Map om bestanden in te genereren [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "map"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Softwarelicentie tonen."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> gebruiken in plaats van globale configuratie"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groep om in te zoeken. Gebruik \"<standaard>\" voor de groep root of "
+"herhaaldelijk voor geneste groepen."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Term om naar te zoeken"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standaardwaarde"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeletype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Groepsnaam kan niet leeg zijn, gebruik \"<standaard>\" voor de groep root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeletype. Gebruik \"bool\" voor een boleaanse waarde, anders wordt dit "
+"behandeld als een tekenreeks."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "De aangeduide sleutel verwijderen indien ingeschakeld"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "De waarde om te schrijven. Gebruik op een shell altijd '' voor leeg."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip van de dag"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Alleen voor testen van units: gebruik testmappen om weg te blijven van de "
+#~ "echte bestanden van gebruikers"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opties opslaan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Taal van programma wijzigen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Voorkeuren"
diff --git a/poqm/nn/kconfig6_qt.po b/poqm/nn/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..cfbce70
--- /dev/null
@@ -0,0 +1,1055 @@
+# Translation of kconfig6_qt to Norwegian Nynorsk
+#
+# Håvard Korsvoll <korsvoll@skulelinux.no>, 2004.
+# Eirik U. Birkeland <eirbir@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-26 19:21+0200\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.11.70\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ta kontakt med systemansvarleg."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Oppsettfila «%1» er ikkje skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Tilbake"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Fram"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Heim"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Lag nytt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Opna …"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Opna eit gammalt dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "N&yleg opna"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Opna eit nyleg opna dokument"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Lagra"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Lagra dokumentet"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lagra &som …"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Lagra dokumentet med nytt namn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Tilbakestill"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Tilbakestill ulagra endringar i dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Lu&kk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Lukk dokumentet"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv &ut …"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Skriv ut dokumentet"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Førehandsvising"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Vis ei førehandsvising av dokumentet"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "S&end på e-post …"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send dokumentet via e-post"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Avslutt"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Avslutt programmet"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Angra"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Angra siste handling"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Gjer om"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gjer om siste angra handling"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Klipp &ut"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klipp ut utvalet til utklippstavla"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopierer utvalet til utklippstavla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Lim inn"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Lim inn frå utklippstavla"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Tøm"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Merk &alt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Fjern merking"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Finn …"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finn &neste"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finn &førre"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Byt ut …"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Vis &verkeleg storleik"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Vis dokumentet med faktisk storleik"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Tilpass til sidestorleik"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Vis dokumentet slik at heile får plass i vindauget"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Tilpass til side&breidd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Vis dokumentet slik at heile breidda får plass i vindauget"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpass til side&høgd"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Vis dokumentet slik at heile høgda får plass i vindauget"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "For&størr"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "For&minsk"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Vis større/mindre …"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vel forstørring"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Oppdater"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Oppdater dokumentet"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Opp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå opp"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Førre side"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå til førre side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Neste side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå til neste side"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå til …"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå til side …"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "G&å til linje …"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Første side"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå til første side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Siste side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå til siste side"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Tilbake"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå bakover i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Fram"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå framover i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Legg til bokmerke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Rediger bokmerke …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavekontroll …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Køyr stavekontroll på dokumentet"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis &menylinje"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis eller gøym menylinja"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis &verktøylinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis eller gøym verktøylinja"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis st&atuslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis eller gøym statuslinja"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ullskjermsmodus"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Set opp &snøggtastar …"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Set opp %1 …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Set opp verktøy&linjer …"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Set opp &varslingar …"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-&handbok"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kva er de&tte?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Meld frå om feil …"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Set opp &språk …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Slett"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Endra namn …"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flytt til papirkorga"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Gje pengegåve"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Opna &meny"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Lukk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lagra"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Angra"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gjer om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lim inn utval"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Merk alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fjern merking"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slett ord bakover"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slett ord framover"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finn"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finn neste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finn førre"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Byt ut"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Heim"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Start"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Førre"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Neste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Opp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbake"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Fram"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Last om att"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Starten på linja"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutten på linja"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Gå eitt ord bak"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Gå eitt ord fram"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Vis større"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Vis mindre"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskjermsmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gå til neste fane"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gå til førre fane"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjelp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kva er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfullføring"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Førre fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Neste fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delstrengfullføring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Førre element i lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Neste element i lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Nyleg brukt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lagra som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Førehandsvising"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tøm"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Vis verkeleg storleik"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Tilpass til sidebreidd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Tilpass til sidehøgd"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Forstørr/forminsk"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Førre dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Neste dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediger bokmerke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinje"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindingar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Set opp program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Set opp verktøylinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Set opp varslingar"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Meld frå om feil"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Set opp språk …"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Slett"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Endra namn"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flytt til papirkorga"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Gje pengegåve"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Vis/gøym gøymde filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Lag mappe"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Opna hovudmeny"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Opna kontekstmeny"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktøy for oppdatering av brukaroppsett"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ta vare på utdata frå skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Berre for einingstestar: Ikkje skriv «fullført»-oppføringar. Dette gjer at "
+"skripta vert køyrde på nytt ved kvar køyring."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sjekk om oppsettfila treng oppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fil(er) å lesa oppdateringsinstruksjonar frå"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappa som dei genererte filene skal lagrast i [.]."
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis programvarelisens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Bruk <fil> i staden for standardoppsett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppa det skal leitast i. Bruk «<default>» for rotgruppa eller fleire "
+"gongar for nøsta grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nøkkel å sjå etter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardverdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeltype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppenamnet kan ikkje vera tomt (bruk «<default>» for rotgruppa)"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Bruk «bool» for boolske verdiar; elles vert det handsama som "
+"ein tekststreng."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Fjern den valde nøkkelen"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Verdien som skal skrivast. I eit skal må du bruka '' for tomme verdiar"
diff --git a/poqm/or/kconfig6_qt.po b/poqm/or/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..8fc60c0
--- /dev/null
@@ -0,0 +1,1047 @@
+# translation of kwriteconfig.po to Oriya
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Manoj Kumar Giri <mgiri@redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-02 11:49+0530\n"
+"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
+"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
+"Language: or\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
diff --git a/poqm/pa/kconfig6_qt.po b/poqm/pa/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..b2e42f9
--- /dev/null
@@ -0,0 +1,1276 @@
+# translation of kwriteconfig.po to Punjabi
+# Amanpreet Singh Alam <aalam@redhat.com>, 2004, 2005.
+# Amanpreet Singh Brar <amanpreetalam@yahoo.com>, 2005.
+# SPDX-FileCopyrightText: 2007, 2009, 2010, 2014, 2018, 2024 A S Alam <aalam@users.sf.net>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-01-29 22:39-0600\n"
+"Last-Translator: A S Alam <aalam@punlinux.org>\n"
+"Language-Team: Punjabi <kde-i18n-doc@kde.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "ਆਪਣੇ ਸਿਸਟਮ ਐਡਮਿਨਸਟੇਟਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜੀ।"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "ਸੰਰਚਨਾ ਫਾਇਲ \"%1\" ਲਿਖਣਯੋਗ ਨਹੀਂ ਹੈ।\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ਡਿਫਾਲਟ"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "ਘਰ"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ਸੱਜਰੇ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ਇੰਝ ਸੰਭਾਲੋ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ਪਰਿੰਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "ਪਰਿੰਟ ਝਲਕ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "ਮੇਲ"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "ਬਾਹਰ"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ਵਾਪਿਸ"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ਕਾਪੀ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "ਚੇਪੋ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "ਸਾਫ਼ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "ਅਣ-ਚੁਣੇ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "ਅੱਗੇ ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "ਪਿੱਛੇ ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ਤਬਦੀਲ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "ਅਸਲੀ ਆਕਾਰ ਲਈ ਜ਼ੂਮ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "ਚੌੜਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "ਉਚਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "ਜ਼ੂਮ ਇਨ"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ਜ਼ੂਮ ਆਉਟ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "ਜ਼ੂਮ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "ਉੱਤੇ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "ਬੁੱਕਮਾਰਕ ਜੋੜੋ"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "ਬੁੱਕਮਾਰਕ ਨੂੰ ਸੋਧੋ"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "ਸ਼ਬਦ-ਜੋੜ"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "ਟੂਲਬਾਰਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ਇਹ ਕੀ ਹੈ"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "ਹਟਾਓ"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "ਨਾਂ ਬਦਲੋ"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ਰੱਦੀ ਵਿੱਚ ਭੇਜੋ"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "ਦਾਨ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "ਮੁੱਖ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "ਨਵਾਂ"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ਪਰਿੰਟ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "ਬਾਹਰ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "ਵਾਪਿਸ"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "ਕੱਟੋ"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "ਕਾਪੀ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ਚੇਪੋ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ਚੋਣ ਕੀਤੀ ਨੂੰ ਚੇਪੋ"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "ਅਣ-ਚੁਣੇ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "ਅੱਖਰ ਪਿੱਛੇ ਵੱਲ ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "ਅੱਖਰ ਅੱਗੇ ਵੱਲ ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "ਅੱਗੇ ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "ਪਿੱਛੇ ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "ਤਬਦੀਲ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "ਘਰ"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "ਸ਼ੁਰੂ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "ਅੰਤ"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "ਦਰਜਾ"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "ਮੁੜ-ਲੋਡ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "ਲਾਈਨ ਦੇ ਸ਼ੁਰੂ ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "ਲਾਈਨ ਦੇ ਅੰਤ ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "ਸ਼ਬਦ ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ਸ਼ਬਦ ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "ਬੁੱਕਮਾਰਕ ਜੋੜੋ"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "ਜ਼ੂਮ ਇਨ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "ਜ਼ੂਮ ਆਉਟ"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "ਅਗਲੀ ਟੈਬ ਨੂੰ ਸਰਗਰਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "ਪਿਛਲੀ ਟੈਬ ਨੂੰ ਸਰਗਰਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "ਮਦਦ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ਇਹ ਕੀ ਹੈ"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "ਲਿਖਤ ਪੂਰਤੀ"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "ਸੂਚੀ ਵਿੱਚ ਪਿਛਲੀ ਆਈਟਮ"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "ਸੂਚੀ ਵਿੱਚ ਅਗਲੀ ਆਈਟਮ"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ਸੱਜਰੇ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ਇੰਝ ਸੰਭਾਲੋ"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "ਪਰਿੰਟ ਝਲਕ"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "ਮੇਲ"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "ਸਾਫ਼ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "ਅਸਲੀ ਆਕਾਰ ਲਈ ਜ਼ੂਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "ਚੌੜਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "ਉਚਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "ਜ਼ੂਮ"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "ਡੌਕੂਮੈਂਟ ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "ਡੌਕੂਮੈਂਟ ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "ਬੁੱਕਮਾਰਕ ਨੂੰ ਸੋਧੋ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "ਸ਼ਬਦ-ਜੋੜ"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "ਸਵਿੱਚ ਬਾਈਡਿੰਗ"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "ਟੂਲਬਾਰਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਾਰੇ"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "ਨਾਂ ਬਦਲੋ"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ਰੱਦੀ ਵਿੱਚ ਭੇਜੋ"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "ਦਾਨ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "ਲੁਕਵੀਆਂ ਫਾਇਲਾਂ ਨੂੰ ਵੇਖਾਓ/ਓਹਲੇ"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "ਫੋਲਡਰ ਬਣਾਓ"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "ਮੁੱਖ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "ਪਰਸੰਗ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "ਵਰਤੋਂਕਾਰ ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਦੇ ਅੱਪਡੇਟ ਲਈ KDE ਟੂਲ"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "ਸਕ੍ਰਿਪਟਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਨਤੀਜੇ ਰੱਖੋ"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "ਜਾਂਚ ਕਰੋ ਕਿ config ਫਾਇਲ ਨੂੰ ਅੱਪਡੇਟ ਦੀ ਲੋੜ ਹੈ।"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "ਡਾਇਰੈਕਟਰੀ"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "ਸਾਫਟਵੇਅਰ ਲਸੰਸ ਵੇਖੋ।"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ਗਲੋਬਲ ਸੰਰਚਨਾ ਦੀ ਬਜਾਏ <file> ਵਰਤੋਂ"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ਲੱਭਣ ਲਈ ਗਰੁੱਪ। ਅੰਦਰੂਨੀ ਗਰੁੱਪਾਂ ਲਈ ਲਗਾਤਾਰ ਵਰਤੋਂ।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ਖੋਜ ਲਈ ਕੁੰਜੀ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ਡਿਫਾਲਟ ਮੁੱਲ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "ਵੇਰੀਬਲ ਦੀ ਟਾਈਪ"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ਵੇਰੀਬਲ ਦੀ ਕਿਸਮ। ਬੁਲੀਅਨ ਲਈ \"bool\" ਵਰਤੋਂ, ਨਹੀਂ ਤਾਂ ਇਸ ਨੂੰ ਸਤਰ ਹੀ ਮੰਨਿਆ ਜਾਵੇਗਾ।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ਲਿਖਣ ਲਈ ਮੁੱਲ। ਲਾਜ਼ਮੀ ਰੂਪ ਵਿੱਚ ਸੈੱਲ ਉੱਤੇ ਖਾਲੀ ਲਈ '' ਵਰਤੋਂ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "ਚੋਣਾਂ ਸੰਭਾਲੋ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਭਾਸ਼ਾ ਬਦਲੋ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "ਮੇਰੀ ਪਸੰਦ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig ਇੰਦਰਾਜ਼ ਲਿਖੋ - ਸੈੱਲ ਸਕਰਿਪਟ ਵਿੱਚ ਵਰਤਣ ਲਈ"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig ਲਿਖੋ, ਜਿਸ ਉੱਤੇ ਇਹ ਅਧਾਰਿਤ ਹੈ"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "ਲਿਊਸ ਪੀਡਰੋ ਕੋਈਲਹੋ"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/pl/kconfig6_qt.po b/poqm/pl/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..efbaba8
--- /dev/null
@@ -0,0 +1,1098 @@
+# translation of kwriteconfig.po to Polish
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Michal Rudolf <mrudolf@kdewebdev.org>, 2003, 2008.
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-30 11:19+0200\n"
+"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
+"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Proszę skontaktować się z administratorem systemu."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Plik ustawień \"%1\" nie jest dostępny do zapisu.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Domyślne"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Wstecz"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Naprzód"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Strona domowa"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nowy"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Utwórz nowy dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Otwórz…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Otwórz istniejący dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otwó&rz ostatni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Otwórz dokument, który był ostatnio otwierany"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Zapi&sz"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Zapisz dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Zapisz j&ako…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Zapisz dokument pod nową nazwą"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Przyw&róć"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Przywróć niezapisane zmiany dokonane w dokumencie"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Zamknij"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zamknij dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Wy&drukuj…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Wydrukuj dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Podgląd &wydruku"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Pokaż podgląd wydruk dokumentu"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Poczta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Wyślij dokument pocztą"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Za&kończ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Zakończ program"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Cofnij"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Cofnij ostatnie działanie"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Przywróć"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Przywróć ostatnio cofnięte działanie"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Wy&tnij"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Wytnij zaznaczenie do schowka"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "S&kopiuj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Skopiuj zaznaczenie do schowka"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Wklej"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Wklej zawartość schowka"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Wyczyść"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Z&aznacz wszystko"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "O&dznacz wszystko"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Poszukaj…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Poszukaj &następnego"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Poszukaj &poprzedniego"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Zastąp…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Powiększ do rozmiaru rzeczywistego"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Obejrzyj dokument w jego rzeczywistym rozmiarze"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Zmieść na stronie"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Powiększ, tak aby zmieścić stronę w oknie"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Zmieść na sze&rokości strony"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Powiększ, tak aby zmieścić stronę na szerokość w oknie"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Zmieść na wy&sokości strony"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Powiększ, tak aby zmieścić stronę na wysokość w oknie"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Pow&iększ"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "P&omniejsz"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Powięks&zenie…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Wybierz poziom powiększenia"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Odśwież"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Odśwież dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "W &górę"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Przejdź do góry"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Poprzednia strona"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Przejdź do poprzedniej strony"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Następna strona"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Przejdź do następnej strony"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Przejdź do…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Przejdź do strony…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Przejdź do wiersza…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Pi&erwsza strona"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Przejdź do pierwszej strony"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Ostatnia strona"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Przejdź do ostatniej strony"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Wstecz"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Idź wstecz w dokumencie"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Naprzód"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Idź do przodu w dokumencie"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj z&akładkę"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edytuj zakładki…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pi&sownia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Sprawdź pisownię w dokumencie"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Pokaż pasek &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Pokaż lub ukryj pasek menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Pokaż pasek &narzędzi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Pokaż lub ukryj pasek narzędzi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Pokaż pasek st&anu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Pokaż lub ukryj pasek stanu"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Tryb pełno&ekranowy"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Ustawienia skrótów klawiszowyc&h…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "U&stawienia %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Ustawienia pasków narzędzi…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Ustawie&nia powiadomień…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Podrę&cznik %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Co to jes&t?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Zgłoś błąd…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Ustawienia &języka…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O progr&amie %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Usuń"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "P&rzemianuj…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Wyrzuć do &kosza"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Darowizna"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otwórz &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otwórz"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nowy"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zamknij"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Zapisz"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drukuj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Zakończ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Cofnij"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Przywróć"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Wytnij"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Skopiuj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Wklej"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Wklej zaznaczenie"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Zaznacz wszystko"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Odznacz"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Usuń słowo przed kursorem"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Usuń słowo za kursorem"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Znajdź"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Znajdź następne"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Znajdź poprzednie"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zastąp"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Katalog domowy"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Początek"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Koniec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Poprzedni"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Następny"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "W górę"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Wstecz"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprzód"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Wczytaj ponownie"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Początek wiersza"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Koniec wiersza"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Przejdź do wiersza"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Słowo wstecz"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Słowo naprzód"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zakładkę"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Powiększ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Pomniejsz"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tryb pełnoekranowy"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Pokaż pasek menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Uaktywnij następną kartę"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Uaktywnij poprzednią kartę"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoc"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Co to jest?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Uzupełnianie tekstu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Poprzedni wynik uzupełniania"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Następny wynik uzupełniania"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Uzupełnienie podciągu znaków"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Poprzedni wpis na wykazie"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Następny wpis na wykazie"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otwórz poprzedni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Zapisz jako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Przywróć"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Podejrzyj wydruk"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poczta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Wyczyść"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Powiększ do rozmiaru rzeczywistego"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Zmieść stronę"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Zmieść na szerokość"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Zmieść na wysokość"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Powiększenie"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Przejdź do"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Przejdź do strony"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Przewiń wstecz"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Przewiń naprzód"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edytuj zakładki"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pisownia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Pokaż pasek narzędzi"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Pokaż pasek stanu"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Skróty klawiszowe"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Ustawienia aplikacji"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Ustawienia pasków narzędzi"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Ustawienia powiadomień"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Zgłoś błąd"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Ustawienia języka…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programie"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Usuń"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Zmień nazwę"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Wyrzuć do kosza"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Darowizna"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Pokaż/ukryj ukryte pliki"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Utwórz katalog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otwórz menu główne"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otwórz menu podręczne"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Narzędzie KDE do uaktualniania plików ustawień użytkownika"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zachowaj wynik wykonania skryptów"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tylko dla testów jednostkowych: nie pisz wykonanych wpisów, tak żeby za "
+"każdym ponownym uruchomieniem, skrypty były wykonywane ponownie"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sprawdź, czy nie należy uaktualnić samego pliku ustawień."
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Plik(i), z którego oczytać instrukcję uaktualnienia"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalog do tworzenia plików w [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalog"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Wyświetl licencję oprogramowania."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Użyj <file> zamiast ustawień globalnych"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Przeszukiwana grupa. Użyj \"<default>\" dla grupy głównej lub użyj tego "
+"wielokrotnie dla zagnieżdżonych grup."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Szukany klucz"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Domyślna wartość"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Rodzaj zmiennej"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Nazwa grupy nie może być pusta, użyj \"<default>\" dla głównej grupy"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Rodzaj zmiennej. Dla wartości logicznej jest to \"bool\", w przeciwnym razie "
+"zmienna będzie traktowana jak ciąg znaków"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Usuń przeznaczony klucz, jeśli włączone"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Wartość do zapisania. Niezbędna, w skryptach można użyć '' dla wartości "
+"pustej"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Porada dnia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Tylko dla testów jednostkowych: użyj katalogów testowych, aby trzymać się "
+#~ "z dala od prawdziwych plików użytkownika"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Zapisz ustawienia"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Zmień język programu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Ustawienia"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisywanie pozycji KConfig - do stosowania w skryptach"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Autor kreadconfig, na którym oparty jest ten program"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/pt/kconfig6_qt.po b/poqm/pt/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7955e00
--- /dev/null
@@ -0,0 +1,1265 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-06-03 18:00+0100\n"
+"Last-Translator: Pedro Morais <morais@kde.org>\n"
+"Language-Team: pt <kde-i18n-pt@kde.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POFile-SpellExtra: bool KConfig KWriteConfig Rosenkraenzer Bernhard\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-POFile-SpellExtra: kreadconfig Hat Red Inc\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacte por favor o seu administrador do sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Não é possível escrever no ficheiro de configuração \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinição"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Recuar"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Pasta Pessoal"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Abrir"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Gravar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gravar Como"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Reverter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Fechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Imprimir"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Antevisão da Impressão"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Enviar um E-Mail"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Sair"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Acerca da Aplicação"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Colar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Limpar"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Procurar"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Procurar o Seguinte"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Procurar o Anterior"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Substituir"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Ampliar para o Tamanho Actual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar à Largura"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajustar à Altura"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampliar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Reduzir"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Ampliação"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Recuar"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adicionar aos Favoritos"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Editar os Favoritos"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografia"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo de Ecrã Completo"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar as Barras de Ferramentas"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar as Notificações"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "O Que é Isto"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Comunicar um Erro"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Apagar"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Mudar o Nome"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Enviar para o Lixo"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Doar"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gravar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Sair"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refazer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colar a Selecção"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Apagar a Palavra Atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Apagar a Palavra à Frente"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Procurar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Procurar o Seguinte"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Procurar o Anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Pasta Pessoal"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Início"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fim"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seguinte"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Subir"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Recuar"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avançar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Início da Linha"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fim da Linha"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Recuar uma Palavra"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Avançar uma Palavra"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adicionar aos Favoritos"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reduzir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de Ecrã Completo"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar a Página Seguinte"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar a Página Anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "O Que é Isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completação de Texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Correspondência Anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Correspondência Seguinte"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completação de Sub-Textos"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item Anterior na Lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Item Seguinte na Lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gravar Como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Antevisão da Impressão"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Enviar um E-Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar para o Tamanho Actual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar à Largura"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar à Altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliação"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir Para"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Recuar no Documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avançar no Documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar os Favoritos"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Atalhos de Teclado"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar a Aplicação"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar as Barras de Ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar as Notificações"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Comunicar um Erro"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Acerca da Aplicação"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Apagar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Mudar o Nome"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Enviar para o Lixo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/Esconder os Ficheiros Escondidos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Criar a Pasta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Uma ferramenta do KDE para actualizar os ficheiros de configuração do "
+"utilizador"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Manter os resultados à saída dos programas"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Verificar se o ficheiro de configuração em si necessita de actualização"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Ficheiros de onde ler as instruções de actualização"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "A pasta onde gerar os ficheiros [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasta"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra a licença da aplicação."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizar <ficheiro> em vez da configuração global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"O grupo onde procurar. Use o \"<default>\" para o grupo de raiz, ou use de "
+"forma repetida para grupos encadeados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chave a procurar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor por omissão"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variável"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome do grupo não pode estar vazio; use o \"<default>\" para o grupo de "
+"raiz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo da variável. Utilize \"bool\" para um booleano, em caso contrário é "
+"tratado como uma cadeia de caracteres"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Apaga a chave designada, caso esteja activa"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"O valor a escrever. Obrigatório, numa linha de comandos utilize '' para vazio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dica do Dia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Apenas para testes unitários: usar as pastas de testes para separar dos "
+#~ "ficheiros originais do utilizador"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gravar as Opções"
diff --git a/poqm/pt_BR/kconfig6_qt.po b/poqm/pt_BR/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..d9fbce9
--- /dev/null
@@ -0,0 +1,1276 @@
+# Translation of kconfig5_qt.po to Brazilian Portuguese
+# Copyright (C) 2003, 2007, 2008, 2009, 2014, 2015, 2019 Free Software Foundation, Inc.
+#
+# Lisiane Sztoltz <lisiane@conectiva.com.br>, 2003.
+# Henrique Pinto <stampede@coltec.ufmg.br>, 2003.
+# Diniz Bortolotto <diniz.bortolotto@gmail.com>, 2007.
+# Fernando Boaglio <boaglio@kde.org>, 2008.
+# Luiz Fernando Ranghetti <elchevive@opensuse.org>, 2009, 2016, 2017, 2018, 2020, 2021, 2022, 2023.
+# André Marcelo Alvarenga <alvarenga@kde.org>, 2009, 2014, 2015, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2023-11-14 13:16-0300\n"
+"Last-Translator: Luiz Fernando Ranghetti <elchevive@opensuse.org>\n"
+"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 22.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contate o administrador do seu sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Arquivo de configuração \"%1\" não gravável.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Padrão"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Voltar"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Abrir"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvar como"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Reverter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Fechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Imprimir"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Visualizar impressão"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-mail"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Sair"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Sobre o aplicativo"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Colar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Limpar"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desmarcar"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Localizar"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Localizar próxima"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Localizar anterior"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Substituir"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom para o tamanho atual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar à largura"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajustar à altura"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampliar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Reduzir"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Zoom"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Acima"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Voltar"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adicionar favorito"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Editar favoritos"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografia"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo de tela inteira"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar barras de ferramentas"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar notificações"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "O que é isto"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Relatar erro"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Excluir"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Renomear"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Mover para a Lixeira"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Doar"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir menu principal"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Sair"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refazer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Recortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colar seleção"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desmarcar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Excluir palavras anteriores"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Excluir palavras posteriores"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Localizar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Localizar próxima"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Localizar anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Início"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fim"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Próximo"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Acima"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Voltar"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avançar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Início da linha"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fim da linha"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir para a linha"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palavra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Palavra posterior"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adicionar favorito"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reduzir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de tela inteira"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Ativar a próxima aba"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Ativar a aba anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "O que é isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Complementação de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidência de complementação anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidência de complementação seguinte"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Complementação de substring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item anterior na lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Próximo item na lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Visualizar impressão"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom para o tamanho atual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar à largura"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar à altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir para"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Recuar no documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avançar no documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar favoritos"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Combinação de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar aplicativo"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar barras de ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar notificações"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Relatar erro"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Sobre o aplicativo"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Excluir"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomear"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mover para a Lixeira"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/ocultar arquivos ocultos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Criar pasta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir menu de contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Ferramenta do KDE para atualização de arquivos de configuração de usuário"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Manter resultados da saída dos scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Somente para testes de unidade: não escreva as entradas concluídas, para "
+"que, a cada nova execução, os scripts sejam executados novamente"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verificar se o próprio arquivo de configuração requer atualização"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Arquivo(s) para ler instruções de atualização"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "A pasta para onde gerar os arquivos [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasta"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Exibir a licença do software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <file> em vez da configuração global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo para procurar. Use \"<padrão>\" para o grupo raiz ou use repetidamente "
+"para grupos aninhados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chave para procurar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor padrão"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variável"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome do grupo não pode estar vazio, use \"<padrão>\" for the root group"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo de variável. Use \"bool\" para booleana, caso contrário, será tratado "
+"como uma string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Excluir a chave designada, caso esteja ativa"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "O valor a ser escrito. Use, no shell, '' para vazio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dica do dia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Apenas para testes unitários: Use as pastas de teste para se afastar dos "
+#~ "arquivos reais do usuário"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvar opções"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Mudar o idioma do aplicativo"
diff --git a/poqm/ro/kconfig6_qt.po b/poqm/ro/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..37777bc
--- /dev/null
@@ -0,0 +1,1290 @@
+# Copyright (C) 2003, 2004, 2008 Free Software Foundation, Inc.
+# Claudiu Costin <claudiuc@kde.org>, 2003, 2004.
+# Sergiu Bivol <sergiu@cip.md>, 2008, 2020, 2022, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-01-07 14:10+0000\n"
+"Last-Translator: Sergiu Bivol <sergiu@cip.md>\n"
+"Language-Team: Romanian <kde-i18n-ro@kde.org>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Lokalize 21.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contactați administratorul de sistem."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Fișierul de configurare „%1” nu poate fi scris.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Implicit"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Înapoi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Înainte"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Acasă"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Deschide"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Deschide recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvează"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvează ca"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Revenire"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Închide"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tipărește"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Previzualizare tipărire"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Poștă"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Termină"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Despre aplicație"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfă"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiază"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Lipește"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Curăță"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selectează tot"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Deselectează"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Caută"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Caută urm."
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Caută prec."
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Înlocuiește"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Apropie la dimensiunea reală"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Încadrează pe lățime"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Încadrează pe înălțime"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Apropie"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Depărtează"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Apropiere"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selectează tot"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Sus"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Înapoi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Înainte"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adaugă semn de carte"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Redactează semne de carte"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografie"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Regim ecran complet"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurează limba"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurează barele de unelte"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurează notificările"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Ce înseamnă aceasta"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Raportează defect"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurează limba"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Despre KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Despre KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Șterge"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Redenumește"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Mută la gunoi"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donează"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Deschide meniul principal"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Deschide"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nouă"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Închide"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvează"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tipărește"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Termină"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfă"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refă"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Taie"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiază"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lipește"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lipește selecția"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selectează tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deselectează"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Șterge cuvânt înapoi"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Șterge cuvânt înainte"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Caută"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Caută urm."
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Caută prec."
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Înlocuiește"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Acasă"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Început"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Sfârșit"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Precedent"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Următor"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Sus"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Înapoi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Înainte"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reîncarcă"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Începutul liniei"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sfârșit de linie"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Mergi la linie"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Cuvânt înapoi"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Cuvânt înainte"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adaugă semn de carte"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Apropie"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Depărtează"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Regim ecran complet"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activează fila următoare"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activează fila precedentă"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajutor"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Ce înseamnă aceasta"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completare text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Precedenta potrivire de completare"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Următoarea potrivire de completare"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completare subșir"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Precedentul element în listă"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Următorul element în listă"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Deschide recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvează ca"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revenire"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Previzualizare tipărire"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poștă"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Curăță"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Apropie la dimensiunea reală"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Încadrează pe lățime"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Încadrează pe înălțime"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Apropiere"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Mergi la"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document înapoi"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document înainte"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redactează semne de carte"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografie"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asocieri de taste"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurează aplicația"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurează barele de unelte"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurează notificările"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Raportează defect"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurează limba"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Despre aplicație"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Despre KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Șterge"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Redenumește"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mută la gunoi"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donează"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Arată/ascunde fișierele ascunse"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Creează dosar"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Deschide meniul principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Deschide meniul contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Unealtă KDE pentru actualizarea fișierelor de configurare ale utilizatorului"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Păstrează rezultatele de ieșire din scripturi"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Doar pentru teste unitare: nu scrie înregistrările încheiate, astfel încât "
+"scripturile să fie re-executate la fiecare rulare"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verifică dacă însuși fișierul de configurare necesită actualizat"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fișier(e) din care să fie citite instrucțiuni de actualizare"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosar în care să fie generate fișierele [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dosar"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Afișează licența programului."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizează <fișier> în loc de configurația globală"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupul de cercetat. Folosiți „<default>” pentru grupul-rădăcină, sau "
+"folosiți repetat pentru grupuri imbricate."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Cheie de căutat"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valoarea implicită"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipul variabilei"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Denumirea grupului nu poate fi goală. folosiți „<default>” pentru grupul-"
+"rădăcină"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipul de variabilă. Utilizați „bool” pentru valoare logică, altfel este "
+"tratată ca șir textual"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Șterge cheia desemnată dacă e activată"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Valoarea de scris. Obligatorie. În linia de comandă folosiți '' pentru șir "
+"gol"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Sfatul zilei"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Doar pentru teste de unitate: folosește dosare de test pentru a nu atinge "
+#~ "fișierele reale ale utilizatorului"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvează opțiunile"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Scrie înregistrări KConfig - de utilizat în scripturi de interpretor"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Am scris kreadconfig pe care este bazat acesta"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ru/kconfig6_qt.po b/poqm/ru/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1b95ec6
--- /dev/null
@@ -0,0 +1,1118 @@
+# translation of kwriteconfig.po into Russian
+#
+# SPDX-FileCopyrightText: 2019, 2020, 2021, 2022, 2024 Alexander Yavorsky <kekcuha@gmail.com>
+# Denis Perchine <dyp@perchine.com>, 2000.
+# Gregory Mokhin <mok@kde.ru>, 2005.
+# Andrey Cherepanov <skull@kde.ru>, 2009.
+# Alexander Potashev <aspotashev@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2020.
+# Alexander Yavorsky <kekcuha@gmail.com>, 2024.
+# SPDX-FileCopyrightText: 2024 Olesya Gerasimenko <translation-team@basealt.ru>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-05 14:41+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратитесь к системному администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файл конфигурации «%1» защищён от записи.\n"
+
+# BUGME: change to "Стандартный"? --aspotashev
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "По умолчанию"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Вперёд"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Основная страница"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Создать"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Создать новый документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Открыть…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Открыть существующий документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Последние &файлы"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Открыть недавно открытый документ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Сохранить"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Сохранить документ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сохранить &как…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Сохранить документ с новым именем"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Восстановить"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Отбросить несохранённые изменения в документе"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Закрыть"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрыть документ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Печать…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Напечатать документ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Предварительный просмотр"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Выполнить предварительный просмотр документа"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Отправить по почте…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Отправить документ по почте"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Выход"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Выйти из приложения"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Отменить"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Отменить последнее действие"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Повторить"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повторить последнее отменённое действие"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Вырезать"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Вырезать выделенное в буфер обмена"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копировать"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копировать выделенное в буфер обмена"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Вставить"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Вставить содержимое буфера обмена"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "О&чистить"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Выделить &все"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Снять выделение"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Найти…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Найти &следующее вхождение"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Найти &предыдущее вхождение"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Заменить…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Масштабировать по &фактическому размеру"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Показать документ в соответствии с его фактическим размером"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Вместить в страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Масштабировать по размеру страницы в окне"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Вместить по &ширине страницы"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Масштабировать по ширине страницы в окне"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Вместить по &высоте страницы"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Масштабировать по высоте страницы в окне"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Увеличить масштаб"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Уменьшить масштаб"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Масштаб…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Выбрать уровень масштабирования"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Обновить"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Обновить документ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Вверх"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перейти выше"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Предыдущая страница"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перейти на предыдущую страницу"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Следующая страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перейти на следующую страницу"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "П&ерейти…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Перейти &на страницу…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Перейти к строке…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Первая страница"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перейти на первую страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Последняя &страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перейти на последнюю страницу"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перейти назад в документе"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перейти вперёд в документе"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Добавить закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Изменить закладки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Проверка орфографии…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Проверить орфографию в документе"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показать &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показать или скрыть меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показать &панель инструментов"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показать или скрыть панель инструментов"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Показать &строку состояния"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показать или скрыть строку состояния"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Полно&экранный режим"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Настроить комбинации &клавиш…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Настроить %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Настроить &панели инструментов…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Настроить &уведомления…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Руководство пользователя %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Что это?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Сообщить об ошибке…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Сменить &язык интерфейса приложения…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&О %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Удалить"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Переименовать…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Удалить в &корзину"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Сделать пожертвование"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Открыть &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Открыть"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Создать"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрыть"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сохранить"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Печать"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Выход"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Отменить действие"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторить отменённое действие"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Вырезать"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копировать"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Вставить"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Вставить выделение"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Выделить все"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Снять выделение"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Удалить слово перед курсором"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Удалить слово после курсора"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Найти"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Найти далее"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Найти предыдущее"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Заменить"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Основная страница"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Начало документа"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Конец документа"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Предыдущий"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далее"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Вверх"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Вперёд"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Открыть заново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Начало строки"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Конец строки"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перейти к строке"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "На слово назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "На слово вперёд"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Добавить закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличить масштаб"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Уменьшить масштаб"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Полноэкранный режим"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показать меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Перейти на следующую вкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Перейти на предыдущую вкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Справка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Что это?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Автодополнение текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Предыдущий вариант автодополнения"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следующий вариант автодополнения"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Автодополнение подстроки"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Предыдущий элемент в списке"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следующий элемент в списке"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Последние файлы"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сохранить как"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Восстановить"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Предварительный просмотр"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Отправить по почте"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очистить"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Фактический размер"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Вместить"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Вместить по ширине"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Вместить по высоте"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Масштаб"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перейти"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перейти на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Вперёд"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Изменить закладки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Проверка орфографии"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показать панель инструментов"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показать строку состояния"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Комбинации клавиш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Настроить приложение"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Настроить панели инструментов"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Настроить уведомления"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Сообщить об ошибке"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Сменить язык интерфейса приложения…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О приложении"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Удалить"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Переименовать"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Удалить в корзину"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Сделать пожертвование"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Скрыть или показать скрытые файлы"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Создать папку"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Открыть главное меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Открыть контекстное меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Утилита KDE для обновления пользовательских конфигурационных файлов"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Сохранять вывод из запущенных сценариев."
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Только для тестирования модулей: запись завершённых операций не выполняется, "
+"при каждом повторном запуске сценарии снова будут выполнены"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Проверить, требует ли обновления сам файл конфигурации."
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файлы с инструкциями для обновления."
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог, где будут созданы файлы [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показать сведения о лицензии"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Использовать <файл> вместо глобального файла конфигурации"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Искать в выбранной группе. Можно использовать несколько раз для выбора "
+"вложенных групп или «<default>» для поиска в группе верхнего уровня."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Искать указанный ключ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Значение по умолчанию"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип переменной"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Название группы не может быть пустым, для группы верхнего уровня используйте "
+"название «<default>»"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип переменной. Для логического типа укажите «bool», в остальных случаях "
+"переменная будет воспринята как строка."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Удаление заданного ключа."
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значение для записи. Обязательно указывается. Для задания пустого значения "
+"при использовании в командной оболочке укажите пустые одинарные кавычки ''."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Совет дня"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Только для модульного тестирования: использовать отдельный тестовый "
+#~ "каталог, чтобы не работать с настоящими файлами пользователя."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сохранить параметры"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Сменить язык интерфейса приложения"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Настроить"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Изменение параметров KConfig из командной строки"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© Red Hat, Inc. и Luís Pedro Coelho, 2001"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Автор программы kreadconfig, на котором основано данное приложение"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgid ""
+#~ "_: NAME OF TRANSLATORS\n"
+#~ "Your names"
+#~ msgstr "Григорий Мохин"
+
+#~ msgid ""
+#~ "_: EMAIL OF TRANSLATORS\n"
+#~ "Your emails"
+#~ msgstr "mok@kde.ru"
diff --git a/poqm/sa/kconfig6_qt.po b/poqm/sa/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..5f43514
--- /dev/null
@@ -0,0 +1,1047 @@
+# SPDX-FileCopyrightText: 2024 kali <skkalwar999@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-12-14 01:48+0530\n"
+"Last-Translator: kali <skkalwar999@gmail.com>\n"
+"Language-Team: Sanskrit <kde-i18n-doc@kde.org>\n"
+"Language: sa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=(n>1);\n"
+"X-Generator: Lokalize 24.08.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "कृपया स्वस्य प्रणालीप्रशासकेन सह सम्पर्कं कुर्वन्तु।"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "विन्याससञ्चिका \"%1\" लेखनीया नास्ति ।\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "मूलभूतम्‌"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&पृष्ठभागः"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&अग्रतः"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&गृहम्‌"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&नूतनम्‌"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "नूतनं दस्तावेजं रचयन्तु"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&उद्घाटित…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "विद्यमानं दस्तावेजं उद्घाटयन्तु"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Open &Recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "एकं दस्तावेजं उद्घाटयन्तु यत् अद्यैव उद्घाटितम् आसीत्"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&रक्ष्"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "दस्तावेजं रक्षन्तु"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Save &As…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "दस्तावेजं नूतननाम्ना रक्षन्तु"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vert"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "दस्तावेजे कृतानि असरक्षितानि परिवर्तनानि प्रत्यागच्छन्तु"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&पिधानं करोतु"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "दस्तावेजं बन्दं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&मुद्रण…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "दस्तावेजं मुद्रयन्तु"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "मुद्रण पूर्वावलोकन&w"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "दस्तावेजस्य मुद्रणपूर्वावलोकनं दर्शयतु"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&मेल…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "मेलद्वारा दस्तावेजं प्रेषयन्तु"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&परिजहातु"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "अनुप्रयोगं त्यजतु"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Undo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "अन्तिमक्रिया पूर्ववर्ती"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "पुनः&कर"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "अन्तिम अकृत क्रिया पुनः करो"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "सह&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "चयनं क्लिप्बोर्डं प्रति कटयन्तु"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&प्रतिलिपि"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "चयनं क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&पेस्ट"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "क्लिपबोर्ड सामग्रीं चिनोतु"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "स्पष्टः"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&All इति चयनं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Des&lect"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&अन्वेषय…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &Next"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "पूर्व&पूर्वं ज्ञातव्यम्"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&प्रत्याहृ…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Actual Size इत्यत्र जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "दस्तावेजं तस्य वास्तविक आकारे पश्यन्तु"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&पृष्ठं प्रति उपयुक्तम्"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "विण्डो मध्ये पृष्ठं फिट् कर्तुं जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "पृष्ठ & चौड़ाई अनुकूल"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "विण्डो मध्ये पृष्ठविस्तारं युक्तं कर्तुं जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "पृष्ठ &उच्चता अनुकूलता"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "विण्डो मध्ये पृष्ठस्य ऊर्ध्वतां युक्तुं जूम् कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "जूम &In"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "जूम &आउट"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&ज़ूम…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "जूम स्तरं चिनोतु"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&ताजगी"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "दस्तावेजं ताजगीं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&उपरि"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "उपरि गच्छतु"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&पूर्व पृष्ठ"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "पूर्वपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&अगला पृष्ठ"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "अग्रिमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Go To…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&पृष्ठं गच्छन्तु…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&रेखायां गच्छन्तु…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&प्रथम पृष्ठ"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "प्रथमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&अन्तिम पृष्ठ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "अन्तिमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&पृष्ठभागः"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "दस्तावेजे पुनः गच्छन्तु"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&अग्रतः"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "दस्तावेजे अग्रे गच्छन्तु"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&बुकमार्कं योजयतु"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edit बुकमार्क्स…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&वर्तनी…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "दस्तावेजे वर्तनीपरीक्षां कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "शो & मेनूबार"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "मेनूपट्टिकां दर्शयतु वा गोपयतु वा"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Toolbar दर्शयतु"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "साधनपट्टिकां दर्शयतु वा गोपयतु वा"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "St&atusbar दर्शयतु"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "स्थितिपट्टिकां दर्शयतु वा गोपयन्तु वा"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ull स्क्रीन मोड"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "कीबोर्ड S&hortcuts विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&%1 विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Tool&bars विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&सूचनाः विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &हस्तपुस्तिका"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "किम् &इदम् ?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&रिपोर्ट बग…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Language विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&%1 इत्यस्य विषये"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "विषये & WHERE इति"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&लुप्"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&पुनर्नाम…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&कचरा प्रति गच्छतु"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&वितरणं"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menu उद्घाटयन्तु"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "उद्घाटित"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "नूतनम्‌"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "पिधानं करोतु"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "रक्ष्"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "मुद्रणम्"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "परिजहातु"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "पूर्ववत"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "पुनः करो"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "छिन्न"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "प्रतिलिपि"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "चिनोतु"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "पेस्ट चयन"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "All इति चिनोतु"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "विचयनं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "शब्दं पृष्ठतः विलोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "शब्द अग्रे विलोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "अन्वेषय"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "अग्रिमम् अन्वेष्टुम्"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find Prev"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "प्रत्याहृ"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "गृहम्‌"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "आरम्भ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "अंत"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "पूर्वतर"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "अग्रिम"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "उपरि"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "पृष्ठभागः"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "अग्रतः"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "पुनः लोड करें"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "रेखायाः आरम्भः"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "रेखायाः अन्तः"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Line इति गच्छन्तु"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "पिछड़ा शब्द"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "अग्रे शब्दः"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "बुकमार्कं योजयतु"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In इति"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out इति"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "मेनू पट्टिकां दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "अग्रिम ट्याब् सक्रियं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "पूर्व ट्याब् सक्रियं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "साहाय्यम्‌"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "किम् एतत्"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "पाठसमाप्तिः"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "पूर्व समाप्ति मेल"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "अग्रिमः समाप्तिमेलनम्"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "उपतार सम्पूर्णता"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "सूचीयां पूर्वः मदः"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "List मध्ये अग्रिमः मदः"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Open Recent इति"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "As Save As इति"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "प्रत्यावर्तयतु"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "मुद्रण पूर्वावलोकनम्"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "मेल"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "स्पष्टः"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "वास्तविक आकारं प्रति जूम कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "पृष्ठं प्रति फिट्"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fit To Width इति"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fit To Height इति"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "जूम"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "गोटो"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "पृष्ठं गच्छतु"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document Back इति"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "दस्तावेज अग्रे"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "बुकमार्क सम्पादयतु"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "वर्तनी"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Toolbar दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "स्थितिपट्टिकां दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "की बन्धन"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "अनुप्रयोगं विन्यस्तं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Toolbars विन्यस्तं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "सूचनाः विन्यस्यताम्"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "बगस्य सूचनां ददातु"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "भाषा विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "अनुप्रयोगस्य विषये"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE विषये"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "लुप्"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "पुनर्नाम"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Trash इत्यत्र गच्छन्तु"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "वितरणं"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "गुप्तसञ्चिकाः दर्शयन्तु/गोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Folder रचयन्तु"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "मुख्यमेनू उद्घाटयन्तु"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "सन्दर्भ मेनू उद्घाटयन्तु"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "उपयोक्तृविन्याससञ्चिकानां अद्यतनीकरणाय KDE साधनम्"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "स्क्रिप्ट्-तः आउटपुट्-परिणामान् रक्षन्तु"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"केवलं एककपरीक्षाणां कृते: कृताः प्रविष्टयः न लिखन्तु, येन प्रत्येकं पुनः चालनेन सह, स्क्रिप्ट् पुनः "
+"निष्पादिताः भवन्ति"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "config सञ्चिकायाः एव अद्यतनीकरणस्य आवश्यकता अस्ति वा इति पश्यन्तु"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "अद्यतननिर्देशान् पठितुं सञ्चिका(सञ्चिकाः)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "[.] इत्यस्मिन् सञ्चिकाः जनयितुं निर्देशिका ।"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "निर्देशिका"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "सॉफ्टवेयर अनुज्ञापत्रं प्रदर्शयन्तु।"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "वैश्विकविन्यासस्य स्थाने <file> इत्यस्य उपयोगं कुर्वन्तु"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"समूहं द्रष्टुं मूलसमूहस्य कृते \"<default>\" इत्यस्य उपयोगं कुर्वन्तु, अथवा नेस्टेड् समूहानां कृते पुनः "
+"पुनः उपयोगं कुर्वन्तु ।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "अन्वेष्टुं कुञ्जी"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "पूर्वनिर्धारितं मूल्यम्"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "चरस्य प्रकारः"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "समूहनाम रिक्तं न भवितुम् अर्हति, मूलसमूहस्य कृते \"<default>\" इत्यस्य उपयोगं कुर्वन्तु"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चरस्य प्रकारः । बूलियनस्य कृते \"bool\" इत्यस्य उपयोगं कुर्वन्तु, अन्यथा तत् स्ट्रिंग् इव "
+"व्यवह्रियते"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "यदि सक्षमं भवति तर्हि निर्दिष्टं कीलं विलोपयन्तु"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लिखितव्यं मूल्यम् । अनिवार्यम्, एकस्मिन् शंखे '' रिक्तस्य कृते प्रयोगः"
diff --git a/poqm/se/kconfig6_qt.po b/poqm/se/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..92d8470
--- /dev/null
@@ -0,0 +1,1054 @@
+# Translation of kconfig6_qt to Northern Sami
+#
+# Børre Gaup <boerre@skolelinux.no>, 2004, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-10-28 15:26+0200\n"
+"Last-Translator: Børre Gaup <boerre@skolelinux.no>\n"
+"Language-Team: Northern Sami <l10n-no@lister.huftis.org>\n"
+"Language: se\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Geavat <fiila> oppalaš heivehusfiilla sajis"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Oza čoavdaga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variábelšládja. Geavat «bool» boolalaš árvvuid várás, muđuid dat geađahallo "
+"teakstastreŋgan."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Árvu maid cállit. Škálžžus fertet geavahit '' guorus árvvuid sajis"
diff --git a/poqm/si/kconfig6_qt.po b/poqm/si/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..4f173bf
--- /dev/null
@@ -0,0 +1,1047 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-11-02 17:48+0530\n"
+"Last-Translator: Danishka Navin <danishka@gmail.com>\n"
+"Language-Team: Sinhala <danishka@gmail.com>\n"
+"Language: si\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
diff --git a/poqm/sk/kconfig6_qt.po b/poqm/sk/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..ed4d532
--- /dev/null
@@ -0,0 +1,1284 @@
+# translation of kwriteconfig.po to Slovak
+# Michal Sulek <misurel@gmail.com>, 2009.
+# Roman Paholík <wizzardsk@gmail.com>, 2014, 2015, 2016, 2022, 2023.
+# Mthw <jari_45@hotmail.com>, 2019.
+# SPDX-FileCopyrightText: 2019, 2020, 2024 Matej Mrenica <matejm98mthw@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-04-14 10:31+0200\n"
+"Last-Translator: Matej Mrenica <matejm98mthw@gmail.com>\n"
+"Language-Team: Slovak <kde-i18n-doc@kde.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Prosím, kontaktujte svojho správcu systému."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfiguračný súbor \"%1\" nie je zapisovateľný.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predvolené"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Späť"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domov"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvoriť"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvoriť nedávne"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Uložiť"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Uložiť ako"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrátiť"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zavrieť"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tlačiť"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Náhľad tlače"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Ukončiť"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O aplikácii"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Späť"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopírovať"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Vložiť"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Vyčistiť"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Zrušiť výber"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nájsť"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nájsť nasledujúci"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nájsť predchádzajúci"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Nahradiť"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Priblížiť na aktuálnu veľkosť"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Prispôsobiť šírke"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Prispôsobiť výške"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Priblížiť"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Oddialiť"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Lupa"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Hore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Späť"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Pridať záložku"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Upraviť záložky"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celej obrazovky"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastaviť panely nástrojov"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Nastaviť upozornenia"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Čo je to"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Nahlásiť chybu"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Vymazať"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Premenovať"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Presunúť do koša"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Venovať peniaze"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvoriť hlavnú ponuku"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvoriť"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nový"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zavrieť"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Uložiť"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tlačiť"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ukončiť"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Späť"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Znovu"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Vystrihnúť"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopírovať"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Vložiť"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Vložiť výber"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Zrušiť výber"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Odstrániť slovo naspäť"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Odstrániť slovo dopredu"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nájsť"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nájsť nasledujúci"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nájsť predchádzajúci"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Nahradiť"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domov"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začiatok"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Koniec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Predchádzajúci"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nasledujúci"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Hore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Späť"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Znovu načítať"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začiatok riadku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Koniec riadku"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Späť o slovo"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Dopredu o slovo"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pridať záložku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Priblížiť"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddialiť"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celej obrazovky"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivovať nasledujúcu kartu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivovať predchádzajúcu kartu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomocník"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Čo je to"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopĺňanie textu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Predchádzajúca zhoda"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nasledujúca zhoda"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopĺňanie časti textu"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Predchádzajúca položka v zozname"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nasledujúca položka v zozname"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvoriť nedávne"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Uložiť ako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrátiť"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Náhľad tlače"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Vyčistiť"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Priblížiť na aktuálnu veľkosť"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Prispôsobiť šírke"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Prispôsobiť výške"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Lupa"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Prejsť na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dozadu v dokumente"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dopredu v dokumente"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Upraviť záložky"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klávesové skratky"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastaviť aplikáciu"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastaviť panely nástrojov"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastaviť upozornenia"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Nahlásiť chybu"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O aplikácii"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Vymazať"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Premenovať"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Presunúť do koša"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Venovať peniaze"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Zobraziť/Skryť skryté súbory"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Vytvoriť priečinok"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otvoriť hlavnú ponuku"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otvoriť kontextovú ponuku"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE nástroj na aktualizáciu konfiguračných súborov používateľa"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ponechať výstupné výsledky zo skriptov"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Skontrolovať, či samotný konfiguračný súbor potrebuje aktualizáciu"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Súbor(y) na čítanie inštrukcií aktualizácie z nich"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Adresár na vygenerovanie súborov [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "adresár"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zobraziť softvérovú licenciu."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Použiť <súbor> namiesto globálneho konfiguračného súboru"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Skupina k prehľadávaniu. Použite <default> pre koreňovú skupinu alebo "
+"použite opakovane pre vnorené skupiny."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Hľadať kľúč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Predvolená hodnota"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ premennej"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Názov skupiny nemôže byť prázdny, použite <default> pre koreňovú skupinu"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ premennej. Použite \"bool\" pre boolean, inak je považovaný za reťazec"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ak je povolené, vymazať určený kľúč"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hodnota pre zápis. Povinná, v shelli použite '' ako prázdnu hodnotu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip dňa"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Len pre unit testy: použite adresáre testov na oddelenie od reálnych "
+#~ "súborov používateľa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Uložiť voľby"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Prepnúť jazyk aplikácie"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Nastavenia"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zápis KConfig položiek - pre použitie v shell skriptoch"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napísal kreadconfig, na ktorom je toto založené"
diff --git a/poqm/sl/kconfig6_qt.po b/poqm/sl/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..f58338d
--- /dev/null
@@ -0,0 +1,1100 @@
+# Translation of kwriteconfig.po to Slovenian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# Gregor Rakar <gregor.rakar@kiss.uni-lj.si>, 2003.
+# Gregor Rakar <gregor.rakar@kiss.si>, 2003.
+# Jure Repinc <jlp@holodeck1.com>, 2007, 2008.
+# Andrej Mernik <andrejm@ubuntu.si>, 2013, 2014, 2015, 2016, 2018.
+# Matjaž Jeran <matjaz.jeran@amis.net>, 2020, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 10:18+0200\n"
+"Last-Translator: Matjaž Jeran <matjaz.jeran@amis.net>\n"
+"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
+"%100<=4 ? 2 : 3);\n"
+"Translator: Andrej Mernik <andrejm@ubuntu.si>\n"
+"X-Generator: Poedit 3.4.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obvestite vašega sistemskega skrbnika."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Nastavitvena datoteka \"%1\" ni zapisljiva.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Privzeto"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazaj"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprej"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domov"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Novo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Ustvari nov dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Odpri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Odpri obstoječi dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Odpri nedavno"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Odpri dokument, ki je bil nedavno odprt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Shrani"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Shrani dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Shrani kot…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Shrani dokument pod novim imenom"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Povrni"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Razveljavi neshranjene spremembe v dokumentu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zapri"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zapri dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Natisni…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Natisni dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Predogled tiskanja"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Prikaži predogled tiska dokumenta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-pošta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Pošlji dokument po pošti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Končaj"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Zapusti aplikacijo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Razveljavi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Razveljavi zadnjo dejavnost"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Uveljavi"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Uveljavi zadnjo razveljavljeno dejavnost"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Izreži"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Izreži izbiro na odložišče"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiraj izbiro na odložišče"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Prilepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Prilepi vsebino odložišča"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Počisti"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izberi vse"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Odizberi"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Najdi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Najdi naslednje"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Najdi prejšnje"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamenjaj"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Prilagodi na dejansko velikost"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ogled dokumenta v njegovi dejanski velikosti"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Prilagodi strani"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Povečaj, da se stran prilega oknu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Prilagodi stran širini"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Povečaj, da se stran prilagodi širini okna"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Prilagodi stran višini"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Povečaj, da se stran prilagodi višini okna"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Približaj"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Oddalji"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Približaj…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izberite stopnjo povečave"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Osveži"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Osveži dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gor"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Pojdi gor"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Prejšnja stran"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Pojdi na prejšnjo stran"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Naslednja stran"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Pojdi na naslednjo stran"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Pojdi na…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Pojdi na stran…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Pojdi v vrstico…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Prva stran"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Pojdi na prvo stran"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Na zadnjo stran"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Pojdi na zadnjo stran"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazaj"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Pojdi nazaj na dokument"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprej"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Pojdi naprej v dokumentu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dod&aj zaznamek"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi zaznamke…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Črkovanje…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Preveri črkovanje v dokumentu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Pokaži &menijsko vrstico"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Pokaži ali skrij menijsko vrstico"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Pokaži orodno vrstico"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Pokaži ali skrij orodno vrstico"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Pokaži vrstico stanja"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Pokaži ali skrij vrstico stanja"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Celozaslonski način"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfiguriraj bližnjice na tipkovnici…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Konfiguriraj %1 …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastavi orodne vrstice…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Nastavi obvestila…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 Priročnik"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kaj je to?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Poročaj o hrošču…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastavi jezik…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Izbriši"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premakni v Smeti"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doniraj"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Odpri &meni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Odpri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zapri"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Shrani"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Natisni"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Končaj"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Razveljavi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Uveljavi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Izreži"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Prilepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Prilepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izberi vse"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Odstrani izbiro"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Izbriši besedo vzvratno"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Izbriši besedo naprej"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Najdi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Najdi naslednje"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Najdi prejšnje"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamenjaj"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domov"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začni"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Končaj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prejšnji"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Naslednji"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gor"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazaj"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprej"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Znova naloži"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začetek vrstice"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Konec vrstice"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Pojdi v vrstico"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Eno besedo nazaj"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Eno besedo naprej"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zaznamek"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Približaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddalji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Celozaslonski način"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Pokaži menijsko vrstico"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Omogoči naslednji zavihek"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Omogoči predhodni zavihek"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoč"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kaj je to"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopolnjevanje besedila"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Predhodni zadetek pri dopolnjevanju"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Naslednji zadetek pri dopolnjevanju"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopolnjevanje podniza"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Predhodni predmet seznama"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Naslednji predmet seznama"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Odpri nedavno"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Shrani kot"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Povrni"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Predogled tiskanja"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Počisti"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Prilagodi na dejansko velikost"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Prilagodi strani"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Prilagodi širini"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Prilagodi višini"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Približanje"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Pojdi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Pojdi na stran"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "En dokument nazaj"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "En dokument naprej"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi zaznamke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Črkovanje"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Pokaži orodno vrstico"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Pokaži vrstico stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tipkovne bližnjice"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastavi program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastavi orodne vrstice"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastavi obvestila"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Poročaj o hrošču"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastavi jezik…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Izbriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premakni v Smeti"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Prikaži/Skrij skrite datoteke"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ustvari mapo"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Odpri glavni meni"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Odpri kontekstni meni"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Orodje KDE za posodabljanje uporabniških nastavitvenih datotek"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ohrani rezultate izpisa skriptov"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Samo za preizkus enot: ne zapisujte vnosov kot dokončanih, tako da se ob "
+"vsaki ponovitvi skripti ponovno izvajajo"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Preveri, če nastavitvena datoteka potrebuje posodobitev"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Datoteke, iz katerih bodo prebrana navodila za posodobitev"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktorij kjer bodo ustvarjene datoteke [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorij"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licenco programske opreme."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Uporabi <file> namesto splošnih nastavitev"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"V kateri skupini naj se išče. Uporabite  \"<default>\"  za za korensko "
+"skupino ali ponovno za gnezdene skupine."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Iskani ključ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Privzeta vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Vrsta spremenljivke"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Ime skupine ne more biti prazna, uporabite \"<default>\" za korensko skupino"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta spremenljivke. Uporabite »bool« za Boolovo, sicer se obravnava kot niz"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Izbriši označen ključ, če je omogočeno"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrednost za zapis. V lupini obvezno uporabite '' za prazno"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Nasvet dneva"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za preizkuse enot: uporabite preizkusne mape, da ne vplivate na "
+#~ "uporabnikove datoteke"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Shrani možnosti"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Preklopi jezik programa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Možnosti"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapiši vnose KConfig - za uporabo v lupinskih skriptih"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. in Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisal je kreadconfig, na katerem temelji ta program"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/sq/kconfig6_qt.po b/poqm/sq/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1c71cbf
--- /dev/null
@@ -0,0 +1,1066 @@
+# Albanian translation for kdebase-runtime
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the kdebase-runtime package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase-runtime\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-07-29 03:59+0000\n"
+"Last-Translator: Vilson Gjeci <vilsongjeci@gmail.com>\n"
+"Language-Team: Albanian <sq@li.org>\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-04-22 15:52+0000\n"
+"X-Generator: Launchpad (build 12883)\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Përdor <file> në vend të global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupi u bllokua. Përdore shpesh për grupet fole."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Çelësi që duhet kërkuar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/sr/kconfig6_qt.po b/poqm/sr/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..0080ae9
--- /dev/null
@@ -0,0 +1,1267 @@
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратите се систем-администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Не може се писати у поставни фајл „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Подразумевано"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Напред"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Домаће"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Отвори"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Сачувај"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сачувај као"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Врати"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Затвори"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Штампај"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Пошта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Напусти"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "О програму"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Опозови"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Копирај"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Налепи"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Очисти"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Поништи избор"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Нађи"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Нађи следеће"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Нађи претходно"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Замени"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Умањи"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Напред"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Додај обележивач"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Уреди обележиваче"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Правопис"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Шта је ово"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Пријави грешку"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Обриши"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Преименуј"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Донација"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отвори"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затвори"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сачувај"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Штампај"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Напусти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Опозови"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Понови"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Исеци"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копирај"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Налепи"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Налепи избор"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Изабери све"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Поништи избор"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Обриши реч уназад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Обриши реч унапред"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Нађи"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Нађи следеће"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Нађи претходно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замени"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домаће"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Почетак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Крај"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Претходно"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Следеће"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Горе"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напред"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Учитај поново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Почетак реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Крај реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Иди на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Реч уназад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Реч унапред"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додај обележивач"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Умањи"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активирај следећи језичак"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активирај претходни језичак"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помоћ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Шта је ово"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Допуна текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Претходно поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следеће поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Допуна подниске"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Претходна ставка на списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следећа ставка на списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сачувај као"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Врати"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очисти"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Иди на"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Документ назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Документ напред"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Уреди обележиваче"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Свезе тастера"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Пријави грешку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Обриши"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуј"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Донација"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "КДЕ‑ова алатка за ажурирање корисничких поставних фајлова"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задржи излазне резултате из скрипти"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Провери да ли са̑м поставни фајл захтева ажурирање"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Фајлови из којих се читају инструкције за ажурирање"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Фасцикла у којој се стварају фајлови [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "фасцикла"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Прикажи лиценцу софтвера"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи овај фајл уместо глобалне поставе"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група у којој се тражи. Понављајте за угнежђене групе."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кључ који треба потражити"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Подразумевана вредност"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип променљиве"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип променљиве. Задајте „bool“ за логичке, у супротном се узима као "
+"„string“ (ниска)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вредност која се уписује. Обавезно, задајте '' за празну"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Савет дана"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Само за јединичне пробе: користи пробне фасцикле да не би дирао "
+#~ "корисникове праве фајлове"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сачувај опције"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Промени језик програма"
diff --git a/poqm/sr@ijekavian/kconfig6_qt.po b/poqm/sr@ijekavian/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..1b944c4
--- /dev/null
@@ -0,0 +1,1267 @@
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@ijekavian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратите се систем-администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Не може се писати у поставни фајл „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Подразумевано"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Напријед"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Домаће"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Отвори"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Сачувај"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сачувај као"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Врати"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Затвори"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Штампај"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Пошта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Напусти"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "О програму"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Опозови"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Копирај"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Налијепи"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Очисти"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Поништи избор"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Нађи"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Нађи сљедеће"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Нађи претходно"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Замијени"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Умањи"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Напријед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Додај обиљеживач"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Уреди обиљеживаче"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Правопис"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Шта је ово"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Пријави грешку"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Обриши"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Преименуј"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Донација"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отвори"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затвори"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сачувај"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Штампај"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Напусти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Опозови"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Понови"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Исијеци"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копирај"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Налијепи"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Налијепи избор"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Изабери све"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Поништи избор"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Обриши ријеч уназад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Обриши ријеч унапријед"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Нађи"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Нађи сљедеће"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Нађи претходно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замијени"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домаће"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Почетак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Крај"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Претходно"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Сљедеће"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Горе"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напријед"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Учитај поново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Почетак реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Крај реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Иди на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Ријеч уназад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Ријеч унапријед"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додај обиљеживач"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Умањи"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активирај сљедећи језичак"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активирај претходни језичак"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помоћ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Шта је ово"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Допуна текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Претходно поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Сљедеће поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Допуна подниске"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Претходна ставка на списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Сљедећа ставка на списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сачувај као"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Врати"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очисти"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Иди на"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Документ назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Документ напријед"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Уреди обиљеживаче"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Свезе тастера"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Пријави грешку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Обриши"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуј"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Донација"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "КДЕ‑ова алатка за ажурирање корисничких поставних фајлова"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задржи излазне резултате из скрипти"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Провјери да ли са̑м поставни фајл захтијева ажурирање"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Фајлови из којих се читају инструкције за ажурирање"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Фасцикла у којој се стварају фајлови [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "фасцикла"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Прикажи лиценцу софтвера"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи овај фајл умјесто глобалне поставе"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група у којој се тражи. Понављајте за угнијежђене групе."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кључ који треба потражити"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Подразумијевана вредност"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип промјенљиве"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип промјенљиве. Задајте „bool“ за логичке, у супротном се узима као "
+"„string“ (ниска)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вриједност која се уписује. Обавезно, задајте '' за празну"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Савјет дана"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Само за јединичне пробе: користи пробне фасцикле да не би дирао "
+#~ "корисникове праве фајлове"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сачувај опције"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Промијени језик програма"
diff --git a/poqm/sr@ijekavianlatin/kconfig6_qt.po b/poqm/sr@ijekavianlatin/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..a6dde46
--- /dev/null
@@ -0,0 +1,1267 @@
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@ijekavianlatin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u postavni fajl „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domaće"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Napusti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Nalijepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Očisti"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamijeni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj obilježivač"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi obilježivače"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Obriši"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donacija"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Napusti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Isijeci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Nalijepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Nalijepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši riječ unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamijeni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domaće"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sljedeće"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Učitaj ponovo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na red"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Riječ unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj obilježivač"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sljedeći jezičak"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodni jezičak"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sljedeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sljedeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Očisti"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument naprijed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi obilježivače"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Sveze tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Obriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih postavnih fajlova"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Provjeri da li sȃ̑m postavni fajl zahtijeva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fajlovi iz kojih se čitaju instrukcije za ažuriranje"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fascikla u kojoj se stvaraju fajlovi [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "fascikla"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licencu softvera"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi ovaj fajl umjesto globalne postave"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugniježđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ koji treba potražiti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Podrazumijevana vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tip promjenljive"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tip promjenljive. Zadajte „bool“ za logičke, u suprotnom se uzima kao "
+"„string“ (niska)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrijednost koja se upisuje. Obavezno, zadajte '' za praznu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savjet dana"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za jedinične probe: koristi probne fascikle da ne bi dirao "
+#~ "korisnikove prave fajlove"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sačuvaj opcije"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promijeni jezik programa"
diff --git a/poqm/sr@latin/kconfig6_qt.po b/poqm/sr@latin/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..35af386
--- /dev/null
@@ -0,0 +1,1267 @@
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u postavni fajl „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Napred"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domaće"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Napusti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Nalepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Očisti"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sledeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zameni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Napred"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj obeleživač"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi obeleživače"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Obriši"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donacija"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Napusti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Iseci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Nalepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Nalepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši reč unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši reč unapred"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sledeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zameni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domaće"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sledeće"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Napred"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Učitaj ponovo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na red"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Reč unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Reč unapred"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj obeleživač"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sledeći jezičak"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodni jezičak"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sledeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sledeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Očisti"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument napred"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi obeleživače"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Sveze tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Obriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih postavnih fajlova"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Proveri da li sȃ̑m postavni fajl zahteva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fajlovi iz kojih se čitaju instrukcije za ažuriranje"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fascikla u kojoj se stvaraju fajlovi [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "fascikla"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licencu softvera"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi ovaj fajl umesto globalne postave"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugnežđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ koji treba potražiti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Podrazumevana vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tip promenljive"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tip promenljive. Zadajte „bool“ za logičke, u suprotnom se uzima kao "
+"„string“ (niska)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrednost koja se upisuje. Obavezno, zadajte '' za praznu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savet dana"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za jedinične probe: koristi probne fascikle da ne bi dirao "
+#~ "korisnikove prave fajlove"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sačuvaj opcije"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promeni jezik programa"
diff --git a/poqm/sv/kconfig6_qt.po b/poqm/sv/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..31dccd0
--- /dev/null
@@ -0,0 +1,1096 @@
+# translation of kwriteconfig.po to Swedish
+# Översättning av kwriteconfig.po till svenska
+# Copyright (C).
+#
+# Mattias Newzella <newzella@linux.nu>, 2003.
+# SPDX-FileCopyrightText: 2007, 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2024 Stefan Asserhäll <stefan.asserhall@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-06-19 20:28+0200\n"
+"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
+"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.5\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr " Kontakta systemadministratören."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Inställningsfilen \"%1\" är inte skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Förval"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Till&baka"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Framåt"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Skapa nytt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Ö&ppna…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Öppna ett befintligt dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Öppna s&enaste"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Öppna ett dokument som nyligen öppnades"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Spara"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Spara dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Spara s&om…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Spara aktuellt dokument med nytt namn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Å&terställ"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Ångra osparade ändringar gjorda i dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Stäng"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Stäng dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv &ut…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Skriv ut dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Förhandsgranska utskrift"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Visa en förhandsgranskning av dokumentutskrift"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-post…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Skicka dokument med e-post"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Avsluta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Avsluta program"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Å&ngra"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Ångra senaste åtgärden"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Gör om"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gör om senast ångrade åtgärd"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Klipp u&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klipp ut markering till klippbordet"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "K&opiera"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiera markering till klippbordet"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "K&listra in"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Klistra in klippbordets innehåll"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Re&nsa"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Markera &alla"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "A&vmarkera"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Sök…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Sök &igen"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Sök &föregående"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Ersätt…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zooma till &verklig storlek"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visa dokumentet med verklig storlek"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Fyll sidan"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zooma för att anpassa sidan till fönstret"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Fyll sidans &bredd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zooma för att anpassa sidans bredd till fönstret"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Fyll sidans &höjd"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zooma för att anpassa sidans höjd till fönstret"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zooma &in"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zooma &ut"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zooma…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Välj zoomnivå"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Uppdatera"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Uppdatera dokumentet"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Uppåt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå uppåt"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Föregående sida"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå till föregående sida"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nästa sida"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå till nästa sida"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå till…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå till sida…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Gå till rad…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Första sidan"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå till första sidan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Sista sidan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå till sista sidan"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Till&baka"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå bakåt i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Framåt"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå framåt i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Lägg till bokmärke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "R&edigera bokmärken…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavning…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kontrollera dokumentets stavning"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Visa &menyrad"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Visa eller dölj menyrad"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Visa verk&tygsrad"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Visa eller dölj verktygsrad"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Visa st&atusrad"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Visa eller dölj statusrad"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ullskärmsläge"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Anpassa snabbtan&genter…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "A&npassa %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Anpassa &verktygsrader…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Anpassa u&nderrättelser…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbok %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Vad är &det här?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Rapportera fel…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Anpassa s&pråk…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Ta bort"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Byt namn…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flytta till papperskorgen"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Ge bidrag"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Visa &meny"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Öppna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Stäng"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Spara"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avsluta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ångra"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gör om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiera"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Klistra in"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Klistra in markering"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Markera alla"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Avmarkera"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ta bort ord bakåt"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ta bort ord framåt"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Sök"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sök igen"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Sök föregående"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ersätt"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Början"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutet"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Föregående"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nästa"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Uppåt"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tillbaka"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Framåt"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Uppdatera"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Början på raden"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutet på raden"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå till rad"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Bakåt ett ord"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Framåt ett ord"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lägg till bokmärke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zooma in"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zooma ut"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskärmsläge"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Visa menyrad"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivera nästa flik"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivera föregående flik"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjälp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Vad är det här"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textkomplettering"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Föregående kompletteringsträff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nästa kompletteringsträff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delsträngskomplettering"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Föregående post i listan"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nästa post i listan"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Öppna senaste"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Spara som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Återställ"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Förhandsgranskning av utskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Rensa"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zooma till verklig storlek"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Fyll sidan"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fyll sidans bredd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fyll sidans höjd"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zooma"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå till"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå till sida"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument bakåt"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument framåt"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redigera bokmärken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavning"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Visa verktygsrad"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Visa statusrad"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tangentbindningar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Anpassa program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Anpassa verktygsrader"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Anpassa underrättelser"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapportera fel"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Anpassa språk…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ta bort"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Byt namn"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flytta till papperskorgen"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ge bidrag"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Visa eller dölj dolda filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Skapa katalog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Visa huvudmeny"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Visa sammanhangsberoende meny"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktyg för uppdatering av användarinställningsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behåll utmatade resultat från skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Enbart för enhetstester: skriv inte de färdiga posterna, så att skripten "
+"exekveras igen vid varje omkörning"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontrollera om inställningsfilen själv kräver uppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fil(er) att läsa uppdaterade instruktioner från"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalog att skapa filer i [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalog"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Visa programvarulicens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Använd <fil> istället för globala inställningar"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupp att titta i. Använd \"<förval>\" för rotgruppen, eller använd "
+"upprepade gånger för nästlade grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nyckel att söka efter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Förvalt värde"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ av variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppnamn kan inte vara tomt, använd \"<förval>\" för rotgruppen"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ av variabel. Använd \"bool\" för ett Booleskt värde, annars behandlas "
+"det som en sträng."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ta bort den designerade nyckeln om aktiverad"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Värdet att skriva. Krävs, använd '' för tomt värde i ett skal."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dagens tips"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Bara för enhetstester: Använd testkataloger för att undvika användarens "
+#~ "riktiga filer"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Spara alternativ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Ändra programmets språk"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Inställningar"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "Inställningsskrivare"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriv poster till Kconfig, för användning i skalskript"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Skrev kreadconfig som det här är baserat på"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ta/kconfig6_qt.po b/poqm/ta/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..2b8b765
--- /dev/null
@@ -0,0 +1,1089 @@
+# translation of kwriteconfig.po to
+# translation of kwriteconfig.po to Tamil
+# Copyright (C) 2004 Free Software Foundation, Inc.
+#
+# Vasee Vaseeharan <vasee@ieee.org>, 2004.
+# Ambalam <tamilpc@ambalam.com>, 2004.
+# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Kishore G <kishore96@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-08 14:54+0530\n"
+"Last-Translator: Kishore G <kishore96@gmail.com>\n"
+"Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Lokalize 24.08.3\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "உங்கள் கணினி நிர்வாகியை தொடர்பு கொள்ளுங்கள்."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "\"%1\" எனும் விருப்பத்தேர்வு கோப்பிற்கு எழுத முடியவில்லை.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "இயல்பிருப்பு"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&பின்னே"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "மு&ன்னே"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "மு&கப்பு"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "பு&தியது"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "புதிய ஆவணத்தை உருவாக்கும்"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "தி&ற…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "ஏற்கனவே உள்ள ஆவணத்தை திறக்கும்"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "சமீபமானவ&ற்றை திற"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "சமீபத்தில் திறக்கப்பட்ட ஆவணத்தை திறக்கும்"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&சேமி"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "ஆவணத்தை சேமிக்கம்"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "வேறு பெ&யரில் சேமி…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "ஆவணத்தை வேறு பெயரில் சேமிக்கும்"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "மீ&ட்டமை"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "சேமிக்கப்படாத மாற்றங்களை செயல்நீக்கும்"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&மூடு"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "ஆவணத்தை மூடும்"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&அச்சிடு…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "ஆவணத்தை அச்சிடும்"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "அச்சு முன்னோட்டம்"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "ஆவணம் அச்சிடப்பட்டால் எப்படி இருக்கும் என ஒரு மூன்னோட்டத்தை காட்டும்"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "அ&ஞ்சலிடு…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "ஆவணத்தை மின்னஞ்சல் மூலம் அனுப்பும்"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "வெ&ளியேறு"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "செயலியிலிருந்து வெளியேறும்"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&செயல்நீக்கு"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "கடைசியாக செய்ததை செயல்நீக்கும்"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&மீளச்செய்"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "கடைசியாக செயல்நீக்கியதை மீளச்செய்யும்"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&வெட்டு"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "தேர்ந்தெடுத்ததை வெட்டி பிடிப்புப்பலகையில் இடும்"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&நகலெடு"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "தேர்ந்தெடுத்ததை பிடிப்புப்பலகைக்கு நகலெடுக்கும்"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&ஒட்டு"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "பிடிப்புப்பலகையில் உள்ளதை ஒட்டும்"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&காலியாக்கு"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "அ&னைத்தையும் தேர்வு செய்"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "தே&ர்வை நிராகரி"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&கண்டுபிடி…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "அ&டுத்ததை கண்டுபிடி"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "மு&ந்தையதை கண்டுபிடி"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&மாற்று…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&உண்மையான அளவில் காட்டு"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "ஆவணத்தை அதன் உண்மையான அளவில் காட்டும்"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&பக்கத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "ஒரு பக்கத்தை முழுமையாக காட்டும்படி உருப்பெருக்கத்தை அமைக்கும்"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "பக்க அகலத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "பக்கத்தின் முழு அகலத்தை சாளரத்தில் காட்டும்படி உருப்பெருக்கத்தை அமை"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "பக்க உயரத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "பக்கத்தின் முழு உயரத்தை சாளரத்தில் காட்டும்படி உருப்பெருக்கத்தை அமை"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "பெரிதாக்கு"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "சிறிதாக்கு"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "உருப்பெருக்கம்…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "உருப்பெருக்க அளவை தேர்வு செய்"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "புதுப்பி"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "ஆவணத்தை புதுப்பி"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "மேலே"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "மேலே செல்"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "முந்தைய பக்கம்"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "முந்தைய பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "அடுத்த பக்கம்"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "அடுத்த பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "இங்கு செல்…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "பக்கத்திற்கு செல்…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "வரிக்கு செல்…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "முதல் பக்கம்"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "முதல் பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "கடைசி பக்கம்"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "கடைசி பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "பின்னே"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "ஆவணத்தில் பின்னே செல்"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "முன்னே"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "ஆவணத்தில் முன்னே செல்"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "நினைவுக்குறியை சேர்"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "நினைவுக்குறிகளை திருத்து"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "எழுத்தாக்கம்"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "ஆவணத்தின் எழுத்தாக்கத்தை சரிபார்"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "பட்டிப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "பட்டிப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "கருவிப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "கருவிப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "நிலைப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "நிலைப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "முழுத்திரை பயன்முறை"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "விசை சுருக்குவழிகளை அமை…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 தனை அமை…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "கருவிப்பட்டைகளை அமை…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "அறிவிப்புகளை அமை…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 கையேடு"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "இது என்ன?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "பிழையை தெரிவி…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "மொழியை அமை…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 பற்றி"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "கே.டீ.யீ. பற்றி"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "நீக்கு"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "மறுபெயரிடு…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "அகற்றிடத்துக்கு நகர்த்து"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "நன்கொடை அளிப்பது"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "பட்டியை திற"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "திற"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "புதியது"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "மூடு"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "சேமி"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "அச்சிடு"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "வெளியேறு"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "செயல்நீக்கு"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "மீளச்செய்"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "வெட்டு"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "நகலெடு"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ஒட்டு"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "தேர்வை ஒட்டு"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "அனைத்தையும் தேர்ந்தெடு"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "தேர்வை நிராகரி"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "பின்னோக்கி சொல்லை நீக்கு"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "முன்னோக்கி சொல்லை நீக்கு"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "தேடு"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "அடுத்ததை தேடு"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "முந்தையதை தேடு"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "மாற்று"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "முகப்பு"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "தொடக்கம்"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "முடிவு"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "முந்தையது"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "அடுத்தது"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "மேலே"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "பின்னே"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "முன்னே"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "மீளேற்று"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "வரியின் தொடக்கம்"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "வரியின் முடிவு"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "வரிக்கு செல்"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "ஒரு சொல் பின்செல்"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ஒரு சொல் முன்செல்"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "நினைவுக்குறியை சேர்"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "பெரிதாக்கு"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "சிறிதாக்கு"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "முழுத்திரை பயன்முறை"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "பட்டிப் பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "அடுத்த கீற்றை செயல்படுத்து"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "முந்தைய கீற்றை செயல்படுத்து"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "உதவி"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "இது என்ன"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "உரையை நிரப்புதல்"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "முந்தைய பொருத்தமான நிறைவு"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "அடுத்த பொருத்தமான நிறைவு"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "துணைச்சரத்தை நிரப்புதல்"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "பட்டியலில் முந்தைய உருப்படி"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "பட்டியலில் அடுத்த உருப்படி"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "சமீபமானவற்றை திற"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "இவ்வாறு சேமி"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "மீட்டமை"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "அச்சின் முன்னோட்டம்"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "அஞ்சலிடு"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "காலியாக்கு"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "உண்மையான அளவில் காட்டு"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "பக்கத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "பக்க அகலத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "பக்க உயரத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "உருப்பெருக்கம்"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "வரிக்கு செல்"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "பக்கத்திற்கு செல்"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "ஆவணத்தில் பின்செல்"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "ஆவணத்தில் முன்செல்"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "நினைவுக்குறிகளை திருத்து"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "எழுத்தாக்கம்"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "கருவிப்பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "நிலைப்பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "விசைச்சுருக்குவழிகள்"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "செயலியை அமை"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "கருவிப்பட்டைகளை அமை"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "அறிவிப்புகளை அமை"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "பிழையை தெரிவி"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "மொழியை அமை…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "செயலியை பற்றி"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "கே.டீ.யீ. பற்றி"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "நீக்கு"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "மறுபெயரிடு"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "அகற்றிடத்துக்கு நகர்த்து"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "நன்கொடை அளியுங்கள்"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "மறைந்துள்ள கோப்புகளை காட்டு/மறை"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "அடைவை உருவாக்கு"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "பிரதானப் பட்டியைத் திற"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "வலது-க்ளிக் பட்டியை திற"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "பயனரின் விருப்பத்தேர்வு கோப்புகளை புதுப்பிக்கும் கே.டீ.யீ. நிரல்"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "சிறுநிரல்கள் தரும் வெளியீட்டை காட்டு"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"சோதனைக்கு மட்டும்: முடித்தபின் பதிவுகளை எழுதாதே. இவ்வாறு இருந்தால், ஒவ்வொரு முறையும் "
+"இந்நிரல் இயக்கப்படும்போது உரிய சிறுநிரல்கள் இயக்கப்படும்."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "விருப்பத்தேர்வு கோப்பை புதுப்பிக்க வேண்டுமா என்று பார்"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "புதுப்பிப்பதற்கான வழிமுறைகளை எந்த கோப்பு(கள்)-இலிருந்து படிக்க வேண்டும்"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "எந்த அடைவில் கோப்புகளை உருவாக்க வேண்டும் [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "அடைவு"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "நிரலின் உரிமத்தை காட்டு."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "பொதுவான அமைப்புகளுக்கு பதிலாக <file> என்பதை பயன்படுத்து"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"எந்த தொகுப்பில் தேட வேண்டும். அடிப்படை தொகுப்புக்கு \"<default>\" என்பதை "
+"பயன்படுத்துங்கள். சார் தொகுப்புகளை சுட்ட இதை பலமுறை பயன்படுத்தலாம்."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "கண்டுபிடிக்க வேண்டிய பதிவு"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "இயல்பிருப்பு மதிப்பு"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "மாறி வகை"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"தொகுப்பின் பெயர் காலியாக இருக்கக்கூடாது. அடிப்படை தொகுப்புக்கு \"<default>\" என்பதை "
+"பயன்படுத்துங்கள்"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"மாறியின் வகை. பூலியனுக்கு \"bool\" என்பதை பயன்படுத்த வேண்டும், இல்லையேல் சரமாக "
+"கருதப்படும்."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "இது இயக்கப்பட்டால் குறிப்பிட்ட பதிவை நீக்கு"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"எழுத வேண்டிய மதிப்பு. முனையத்தில் பயன்படுத்தும்போது காலியான மதிப்பை இட '' என்பதை "
+"பயன்படுத்துங்கள்"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "இன்றைய தகவல்"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "சோதனைகளுக்கு மட்டும்: பயனரின் உண்மையான கோப்புகளை தொடாமல், சோதனைக்கென தனிப்பட்ட "
+#~ "அடைவுகளை பயன்படுத்தும்."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "விருப்பங்களை சேமி"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "கேஎழுதுவடிவமைப்பு"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "கேவடிவமைப்பு உள்ளீடுகளை எழுது - உறையகம் ஸ்கிரிப்ட்டில் பயண்படுத்த. "
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "zhateam"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "tamilpc@ambalam.com"
diff --git a/poqm/te/kconfig6_qt.po b/poqm/te/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..d6d98d4
--- /dev/null
@@ -0,0 +1,1265 @@
+# translation of kwriteconfig.po to Telugu
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Krishna Babu K <kkrothap@redhat.com>, 2009.
+# Sripath Roy Koganti <sripathroy@swecha.net>, 2019.
+# B.Poojitha <bondalakuntapoojitha99@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2019-03-01 22:44+0530\n"
+"Last-Translator: B.Poojitha <bondalakuntapoojitha99@gmail.com>\n"
+"Language-Team: Telugu <reachus@swecha.net>\n"
+"Language: te\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 2.91.7\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "దయచేసి మీ సిస్టమ్ నిర్వాహకుడిని సంప్రదించండి."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "ఆకృతీకరణ ఫైలు \"%1\" వ్రాయదగినది కాదు.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "అప్రమేయం"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "నివాసం"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "తెరువు"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "సేవ్"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ఇలా సేవ్ చేయండి"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "తిరిగి వెళ్లు"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "మూత"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ముద్రణ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "ముద్రణా పరిదృశ్యం"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "తపాల"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "త్యజించు"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "అప్లికేషన్ గురించి"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "చేసింది రద్దు"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "నకలు"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "అతికించు"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "మూలం"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "యెంపికను తీసివేయుము"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "కనుగొనండి"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "తదుపరిది కనుగొనండి"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "మునుపటి కనుగొను"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "పునఃస్థాపించుము"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "అసలైన కొలత"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "వెడల్పు సరిపరుచు "
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "పొడవు సరిపరచు  "
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "పెద్దదిగా చూపు"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "చిన్నగా చేయుము "
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "జూమ్"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "పైన "
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "బుక్మార్క్ జోడించు"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "బుక్మార్క్లను సవరించండి"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "అక్షరక్రమం"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "పూర్తి స్క్రీన్ విధం"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "టూల్బార్లు ఆకృతీకరించు"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "నోటిఫికేషన్లను ఆకృతీకరించు"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ఇది ఏమిటి"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "బగ్ను నివేదించు"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE గురించి"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE గురించి"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "తొలగించు"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "పేరుమార్చు"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "చెత్తలో వేయి"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "దానం"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "తెరువు"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "కొత్త"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "మూత"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "సేవ్"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ముద్రణ"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "త్యజించు"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "చేసింది రద్దు"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "మళ్ళీచేయు"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "కోయు"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "నకలు"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "అతికించు"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ఎంపికను అతికించండి"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "యెంపికను తీసివేయుము"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "పదం వెనుకకు తొలగించు"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "ముందు పదమును తొలగించుము"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "కనుగొనండి"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "తదుపరిది కనుగొనండి"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "మునుపటి కనుగొను"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "పునఃస్థాపించుము"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "నివాసం"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "ప్రారంభం"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "ముగింపు"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "ముందు"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "తరువాత"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "పైన "
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "తిరిగి ప్రారంభించు "
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "వరుస మొదలు "
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "వరుస ముగింపు"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "వెనుక పదం"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ముందు పదం  "
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "బుక్మార్క్ జోడించు"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "పెద్దదిగా చూపు"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "చిన్నగా చేయుము "
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "పూర్తి స్క్రీన్ విధం"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "తదుపరి టాబ్ని సక్రియం చేయండి"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "మునుపటి ట్యాబ్ను సక్రియం చేయండి"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "సహాయం"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ఇది ఏమిటి"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "పాఠం పూర్తి"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "మునుపటి పూర్తి మ్యాచ్"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "తదుపరి పూర్తి మ్యాచ్"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "ఉపశీర్షిక పూర్తి"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "జాబితాలోని మునుపటి అంశం"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "జాబితాలో తదుపరి అంశం"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ఇలా సేవ్ చేయండి"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "తిరిగి వెళ్లు"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "ముద్రణా పరిదృశ్యం"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "తపాల"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "మూలం"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "అసలైన కొలత"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "వెడల్పు సరిపరుచు "
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "పొడవు సరిపరచు  "
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "జూమ్"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "వెళ్ళు"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "పత్రం వెనుకకు"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "పత్రం ముందు"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "బుక్మార్క్లను సవరించండి"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "అక్షరక్రమం"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "కీ బైండింగ్స్"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "అప్లికేషన్ను ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "టూల్బార్లు ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "నోటిఫికేషన్లను ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "బగ్ను నివేదించు"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "అప్లికేషన్ గురించి"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE గురించి"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "తొలగించు"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "పేరుమార్చు"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "చెత్తలో వేయి"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "దానం"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "యూజర్ ఆకృతీకరణ ఫైళ్ళను నవీకరించుటకు KDE సాధనం"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "స్క్రిప్ట్ల నుండి అవుట్పుట్ ఫలితాలను ఉంచండి"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Config file దానికి అప్డేట్ కావాలో లేదో తనిఖీ చేయండి"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "నవీకరణ సూచనలను చదవడానికి ఫైల్ (లు)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "[.] లో ఫైళ్ళను సృష్టించుటకు మూలవివరం"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "మూలవివరం"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "సాఫ్ట్వేర్ లైసెన్స్ను ప్రదర్శించు."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ప్రపంచ కాన్ఫిగరేషన్కు బదులుగా <file> ఉపయోగించండి"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "సమూహ సమూహాల కోసం పదేపదే ఉపయోగించండి."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "శోధించడానికి కీ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "డిఫాల్ట్ విలువ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "వేరియబుల్ రకం"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"వేరియబుల్ రకం. ఒక బూలియన్ కోసం \"bool\" ఉపయోగించండి, లేకుంటే అది స్ట్రింగ్గా పరిగణించబడుతుంది"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "వ్రాయడానికి విలువ. తప్పనిసరిగా షెల్ ఉపయోగంలో '' ఖాళీగా ఉంచండి"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "రోజు చిట్కా"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "యూనిట్ పరీక్షల కోసం మాత్రమే: టెస్టిమోనియల్ డైరెక్టరీలు యూజర్ రియల్ ఫైల్స్ నుండి దూరంగా ఉండటానికి "
+#~ "ఉపయోగించుకోండి"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "ఎంపికలను సేవ్ చేయు "
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "అప్లికేషన్ భాషని మార్చండి"
diff --git a/poqm/tg/kconfig6_qt.po b/poqm/tg/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..946d86f
--- /dev/null
@@ -0,0 +1,1291 @@
+# translation of kwriteconfig.po to Tajik
+# copyright (c) 2004
+# infoDev, a World Bank organization
+# Khujand Computer Technologies, Inc., 2004.
+# Victor Ibragimov <victor.ibragimov@gmail.com>, 2004, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2019-09-15 21:24+0500\n"
+"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
+"Language-Team: English <kde-i18n-doc@kde.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 19.04.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Лутфан, бо маъмури низоми худ дар тамос шавед."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файли танзимии \"%1\" навишташаванда намебошад.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Стандартӣ"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Асосӣ"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Кушодан"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Нигоҳ доштан"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Нигоҳ доштан ҳамчун"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Бозгаштан"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Пӯшидан"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Чоп кардан"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Пешнамоиши чоп"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Почта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Баромадан"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Дар бораи барнома"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ботил сохтан"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Нусха бардоштан"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Гузоштан"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Пок кардан"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Интихобро бекор кардан"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Ёфтан"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Ёфтани навбатӣ"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ёфтани пешакӣ"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ҷойгузин кардан"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Андозаи ҳақиқӣ"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ба паҳноӣ ғунҷидан"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ба баландӣ ғунҷидан"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Бузург кардани андоза"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Хурд кардани андоза"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Интихоби андоза"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Ба боло"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Илова кардани хатчӯб"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Таҳрир кардани хатчӯб"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Санҷиши имло"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Реҷаи экрани пурра"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Танзимоти навори абзорҳо"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Танзимоти огоҳиномаҳо"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Ин чист"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Гузориш дар бораи хато"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Нест кардан"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Номро иваз кардан"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Интиқол додан ба сабад"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Дастгирии молӣ"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Кушодан"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Нав"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Пӯшидан"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Нигоҳ доштан"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Чоп кардан"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Баромадан"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ботил сохтан"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Дубора анҷом додан"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Буридан"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Нусха бардоштан"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Гузоштан"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Гузоштани интихоб"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Интихобро бекор кардан"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Нест кардани калима ба ақиб"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Нест кардани калима ба пеш"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Ёфтан"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Ёфтани навбатӣ"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Ёфтани пешакӣ"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ҷойгузин кардан"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Асосӣ"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Оғоз"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Поён"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Пешакӣ"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Навбатӣ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Ба боло"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Боркунии дубора"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Оғози сатр"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Анҷоми сатр"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Калима ба қафо"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Калима ба пеш"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Илова кардани хатчӯб"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Бузург кардани андоза"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Хурд кардани андоза"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Реҷаи экрани пурра"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Фаъол кардани варақаи навбатӣ"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Фаъол кардани варақаи қаблӣ"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Кумак"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Ин чист"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Пуркунии матн"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Мувофиқати пуркунии матни қаблӣ"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Мувофиқати пуркунии матни навбатӣ"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Пуркунии зерсатр"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Маводи қаблӣ дар рӯйхат"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Маводи навбатӣ дар рӯйхат"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Нигоҳ доштан ҳамчун"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Бозгаштан"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Пешнамоиши чоп"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Почта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Пок кардан"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Андозаи ҳақиқӣ"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ба паҳноӣ ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ба баландӣ ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Интихоби андоза"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Гузариш ба"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Санади қаблӣ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Санади навбатӣ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Таҳрир кардани хатчӯб"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Санҷиши имло"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Иртиботи тугмаҳо"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Танзимоти барнома"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Танзимоти навори абзорҳо"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Танзимоти огоҳиномаҳо"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Гузориш дар бораи хато"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Дар бораи барнома"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Нест кардан"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Номро иваз кардан"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Интиқол додан ба сабад"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Дастгирии молӣ"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Абзори KDE барои навсозии файлҳои танзимии корбар"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Нигоҳ доштани натиҷаҳои барориши нақшҳо (скриптҳо)"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Ниёзи навсозӣ намудани худи файли танзимиро санҷед"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл(ҳо)е ки дастурамали навсозӣ аз он(ҳо) иҷро мешаванд"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ҷузвадон барои эҷодкунии файлҳо дар [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "ҷузвадон"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Намоиш додани иҷозатномаи нармафзор."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Ба ҷои танзими умум аз <file> истифода баред"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Гурӯҳбандӣ барои ҷустуҷӯ. Барои гурӯҳҳои доимӣ такроран истифода баред."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Калид барои ҷустуҷӯ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Қимати стандартӣ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Навъи тағйиpёбанда"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Навъи тағйиpёбанда. Барои воҳиди матниқӣ \"мантиқ\"-ро истифода баред, дар "
+"дигар ҳолат он ҳамчун сатр маънидод карда мешавад"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Қимат барои навиштан. Ҳатман, дар ҷилд аз '' барои ҷои холӣ истифода баред"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Маслиҳати рӯз"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Танҳо барои санҷишҳои воҳидӣ: барои гузаронидани санҷишҳо дур аз файлҳои "
+#~ "ҳақиқии корбар аз ҷузвадонҳои санҷишӣ истифода баред"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Имконоти нигоҳдорӣ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Иваз кардани забони барнома"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig - барои истифода дар ҷилди дастнависҳо"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Дар асоси kreadconfig навишта шуд"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Абророва Хиромон"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "H_Abrorova@rambler.ru"
diff --git a/poqm/th/kconfig6_qt.po b/poqm/th/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..daea074
--- /dev/null
@@ -0,0 +1,1088 @@
+# translation of kwriteconfig.po to Thai
+# Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+#
+# Thanomsub Noppaburana <donga_n@yahoo.com>, 2003.
+# Sahachart Anukulkitch <drrider@gmail.com>, 2007.
+# Thanomsub Noppaburana <donga.nb@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-17 16:28+0700\n"
+"Last-Translator: Thanomsub Noppaburana <donga.nb@gmail.com>\n"
+"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ใช้ <แฟ้ม> แทนค่าปรับแต่งทั่วไป"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "กลุ่มที่จะค้นหาภายใน โดยปรับใช้กับกลุ่มย่อยภายในมันด้วย"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "คำสำหรับค้นหา"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ชนิดของตัวแปร ใช้ \"bool\" สำหรับตัวแปรตรรกะ มิฉะนั้น ตัวแปรนั้นจะถูกตีค่าเป็น สตริง"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ค่าที่จะเขียน จำเป็นต้องใส่ หากเป็นค่าว่างจะใช้ ''"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "เขียนส่วน KConfig  - สำหรับใช้ในสคริปต์ของเชลล์"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "เขียน kreadconfig ซึ่งเป็นฐานสำหรับโปรแกรมนี้"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/tr/kconfig6_qt.po b/poqm/tr/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..b42d70d
--- /dev/null
@@ -0,0 +1,1099 @@
+# translation of kwriteconfig.po to
+# translation of kwriteconfig.po to Turkish
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Görkem Çetin <gorkem@kde.org>, 2003.
+# Serdar Soytetir <tulliana@gmail.com>, 2008.
+# Volkan Gezer <volkangezer@gmail.com>, 2014, 2017.
+# Kaan Ozdincer <kaanozdincer@gmail.com>, 2014.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Emir SARI <emir_sari@icloud.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-10-25 19:04+0300\n"
+"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
+"Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 24.08.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lütfen sistem yöneticinize başvurun."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Yapılandırma dosyası “%1” yazılabilir değil.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Öntanımlı"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Geri"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "İ&leri"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Ana Sayfa"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Yeni"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Yeni belge oluştur"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Aç…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Var olan bir belgeyi aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Son Kullanılanı Aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Yakın zamanda açılan bir belgeyi aç"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Kaydet"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Belgeyi kaydet"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "&Farklı Kaydet…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Belgeyi yeni bir adla kaydet"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "G&eriye Al"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Belgeye yapılan kaydedilmemiş değişiklikleri geri al"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Kapat"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Belgeyi kapat"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Yazdır…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Belgeyi yazdır"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Yazdırma &Önizlemesi"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Belgenin yazdırma önizlemesini göster"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Postala…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Belgeyi posta ile gönder"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Çı&k"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Uygulamadan çık"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Geri Al"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Son eylemi geri al"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Yinele"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Son geri alınan eylemi yinele"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Kes"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Seçimi panoya kes"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "K&opyala"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Seçimi panoya kopyala"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Ya&pıştır"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pano içeriğini yapıştır"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Te&mizle"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Tümünü Seç"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Seçimi Ka&ldır"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Bul…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&Sonrakini Bul"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ö&ncekini Bul"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Değiştir…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Gerçek Boyuta Yakınlaştır"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Belgeyi gerçek boyutunda görüntüle"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Sayfaya &Sığdır"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Sayfayı pencereye sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Sayfa &Genişliğine Sığdır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Penceredeki sayfa genişliğine sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Sayfa &Yüksekliğine Sığdır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Penceredeki sayfa yüksekliğine sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Yakınlaştır"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Uzaklaştır"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Yakınlaştır…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Yakınlaştırma düzeyini seç"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Yenile"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Belgeyi yenile"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Y&ukarı"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Yukarı git"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ö&nceki Sayfa"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Önceki sayfaya git"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Sonraki Sayfa"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Sonraki sayfaya git"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "G&it…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Sayfaya G&it…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Satıra G&it…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "İ&lk Sayfa"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "İlk sayfaya git"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "So&n Sayfa"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Son sayfaya git"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Geri"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Belgede geri git"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "İ&leri"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Belgede ileri git"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Yer İmi &Koy"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Yer İmlerini Dü&zenle…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Yazım &Denetimi…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Belgedeki yazımı denetle"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menü Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menü çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Araç Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Araç çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "&Durum Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Durum çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Ta&m Ekran Kipi"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "&Klavye Kısayollarını Yapılandır…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 Uygulamasını &Yapılandır…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Araç Çubuklarını Yapılandır…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Bildirimleri Yapılandır…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &El Kitabı"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Bu Nedir?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Hata Bildir…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Dili Yapılandır…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 &Hakkında"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDE Hakkında"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Sil"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Yeniden &Adlandır…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Çöp Kutusuna &Taşı"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Bağış Yap"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menüyü Aç"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aç"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Yeni"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Kapat"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Kaydet"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Yazdır"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Çık"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Geri Al"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Yinele"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kes"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Yapıştır"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seçimi Yapıştır"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tümünü Seç"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Seçimi Kaldır"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Geriye Doğru Sözcük Sil"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "İleriye Doğru Sözcük Sil"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Bul"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sonrakini Bul"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Öncekini Bul"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Değiştir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Ana Sayfa"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Başlangıç"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Son"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Önceki"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sonraki"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Yukarı"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Geri"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "İleri"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Yeniden Yükle"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Satır Başı"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Satır Sonu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Satıra Git"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Önceki Sözcük"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Sonraki Sözcük"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Yer İmi Koy"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Uzaklaştır"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tam Ekran Kipi"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menü Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Sonraki Sekmeyi Etkinleştir"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Önceki Sekmeyi Etkinleştir"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Yardım"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Bu Nedir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Metin Tamamlama"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Önceki Tamamlama Eşleşmesi"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sonraki Tamamlama Eşleşmesi"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Alt İfade Tamamlama"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Listedeki Önceki Öge"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Listedeki Sonraki Öge"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Son Kullanılanı Aç"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Farklı Kaydet"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Geriye Al"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Yazdırma Önizlemesi"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Temizle"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Gerçek Boyuta Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Sayfaya Sığdır"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Genişliğe Sığdır"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Yüksekliğe Sığdır"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Git"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Sayfaya Git"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Belge Geri"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Belge İleri"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Yer İmlerini Düzenle"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Yazım Denetimi"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Araç Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Durum Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Düğme Bağıntıları"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Uygulamayı Yapılandır"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Araç Çubuklarını Yapılandır"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bildirimleri Yapılandır"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Hata Bildir"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Dili Yapılandır…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Uygulama Hakkında"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE Hakkında"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Sil"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Yeniden Adlandır"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Çöp Kutusuna Taşı"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Bağış Yap"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Gizli Dosyaları Göster/Gizle"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Klasör Oluştur"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ana Menüyü Aç"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Bağlam Menüsünü Aç"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Kullanıcı yapılandırma dosyalarını güncellemek için KDE aracı."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Betiklerin çıktılarını sakla"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Yalnızca birim sınamaları için: Bitmiş girdileri yazma; böylelikle her "
+"yeniden çalıştırmada betikler yeniden yürütülür"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Yapılandırma dosyasının güncelleme gerektirip gerektirmediğini denetle"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Güncelleme bilgilerinin okunacağı dosya"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosyaların oluşturulacağı dizin [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dizin"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Yazılım lisansını görüntüleyin."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Genel yapılandırma yerine <file> kullanın."
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"İçine bakılacak grup. Kök grup veya iç içe geçmiş gruplar için yineleyerek "
+"“<default>” kullanın."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Aranacak anahtar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Öntanımlı değer"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Değişken türü"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Grup adı boş olamaz; kök grup için “<default>” kullanın"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Değişkenin türü. Mantıksal değişkenler için “bool” kullanın, aksi halde "
+"metin olarak ele alınır"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Etkinleştirilmişse ilgili anahtarı sil"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Yazdırılacak değer. Zorunlu, boş değer için kabukta '' kullanın"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Günün İpucu"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Yalnızca birim sınamaları için: Sınama dizinlerini kullanıcının gerçek "
+#~ "dosyalarından ayrı tut"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Seçenekleri Kaydet"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Uygulama Dilini Değiştir"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Tercihler"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig girdilerini yaz (kabuk programlarında kullanmak için)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Kreadconfig bu temel alınarak yazıldı"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/ug/kconfig6_qt.po b/poqm/ug/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..6ba597e
--- /dev/null
@@ -0,0 +1,1079 @@
+# Uyghur translation for kwriteconfig.
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+# Sahran <sahran.ug@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2013-09-08 07:05+0900\n"
+"Last-Translator: Gheyret Kenji <gheyret@gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
+"Language: ug\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ئومۇمىي سەپلىمە ئورنىغا <ھۆججەت> نى ئىشلەت"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"كۆرمەكچى بولغان گۇرۇپپا. قەۋەتلەنگەن گۇرۇپپىلارغا قايتا-قايتا ئىشلىتىڭ."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ئىزدەيدىغان ئاچقۇچلۇق سۆز"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ئۆزگەرگۈچى تىپى. \"bool\"  نى بۇلېئان قىممىتى قىلىپ ئىشلىتىدۇ ئۇنداق بولمىسا "
+"ھەرپ تىزىقى سۈپىتىدە ئىشلىتىدۇ."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "يازىدىغان قىممەت. shell دا بوشلۇقنى چوقۇم ئىشلىتىدۇ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig تۈرلىرىنى يازىدۇ - shell قوليازما ئۈچۈن"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat، Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "بۇ پروگراممىنىڭ ئاساسىي kreadconfig نى يازغان"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/uk/kconfig6_qt.po b/poqm/uk/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..08c0951
--- /dev/null
@@ -0,0 +1,1082 @@
+# Translation of kconfig5_qt.po to Ukrainian
+# Copyright (C) 2018-2020 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"PO-Revision-Date: 2024-05-22 09:06+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 23.04.3\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Будь ласка, зверніться до системного адміністратора."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Запис до файла налаштувань «%1» неможливий.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Типові значення"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Домівка"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "С&творити"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Створити новий документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Відкрити…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Відкрити наявний документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Відкрити &недавні"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Відкрити документ, який вже було нещодавно відкрито"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Зберегти"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Зберегти документ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Зберегти &як…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Зберегти документ під іншою назвою"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Відновити"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Скасувати незбережені зміни у документі"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "За&крити"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрити документ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Надрукувати…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Надрукувати документ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Перегляд др&уку"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Показати попередній перегляд результатів друку документа"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Надіслати листа…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Надіслати документ електронною поштою"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Ви&йти"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Вийти з програми"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Вернути"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Скасувати останню дію"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "П&овторити"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повернути результат останньої скасованої дії"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Виріза&ти"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Вирізати позначені об’єкти до буфера обміну даними"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копіювати"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копіювати позначений фрагмент до буфера обміну даними"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Вставити"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Вставити вміст буфера обміну даними"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "О&чистити"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Позна&чити все"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Скасувати ви&бір"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Знайти…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Знайти &далі"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Знайти &позаду"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "З&амінити…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Фактичний розмір"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Переглянути документ з використанням його справжніх розмірів"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Влаштувати в сторінку"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Змінити масштаб, щоб розмістити сторінку цілком"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Влаштувати в &ширину сторінки"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Змінити масштаб, щоб розмістити всю ширину сторінки документа"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Влаштувати в &висоту сторінки"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Змінити масштаб, щоб розмістити всю висоту сторінки документа"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "З&більшити"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "З&меншити"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Масштабувати…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Вибрати масштаб"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Оновити"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Оновити документ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Вгору"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перейти вище"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Попередня"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перейти до попередньої сторінки"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Наступна"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перейти до наступної сторінки"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "П&ерейти…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "П&ерейти до сторінки…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Пе&рейти до рядка…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Пе&рша"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перейти до першої сторінки"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Остання"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перейти до останньої сторінки"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перейти назад документом"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перейти вперед документом"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Додати закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Редагувати закладки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Пр&авопис…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Перевірити правопис у документі"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показати смужку &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показати або приховати смужку меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показати панель &інструментів"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показати або приховати панель інструментів"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Пок&азувати смужку стану"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показати або приховати смужку стану"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Повноекранний &режим"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Налаштовування &клавіатурних скорочень…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Налаштувати %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Налаштувати п&анелі…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Налаштувати спові&щення…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "П&ідручник з %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Що це?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Повідомити про ваду…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Нала&штувати мову…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Про %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "П&ро KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Ви&лучити"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Пере&йменувати…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Пересунути до смітника"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Підтримати &фінансово"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Відкрити &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Відкрити"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Створити"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрити"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Зберегти"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Надрукувати"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Вийти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Вернути"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторити"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Вирізати"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Скопіювати"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Вставити"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Вставити позначене"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Позначити все"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Скасувати позначення"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Вилучити слово позаду"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Вилучити слово попереду"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Пошук"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Знайти далі"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Знайти позаду"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замінити"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домівка"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Початок"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Кінець"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далі"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Вгору"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Вперед"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Перезавантажити"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Початок рядка"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Кінець рядка"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перейти до рядка"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Слово назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Слово вперед"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додати закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Збільшити"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Зменшити"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Повноекранний режим"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показувати смужку меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активувати наступну вкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активувати попередню вкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Довідка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Що це?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Завершення тексту"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Попередній варіант завершення"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Наступний варіант завершення"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Завершення підрядка"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Попередній елемент у списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Наступний елемент у списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Відкрити недавні"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Зберегти як"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Відновити"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Перегляд друку"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Надіслати листа"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Спорожнити"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Масштабувати до фактичного розміру"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Влаштувати в сторінку"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Влаштувати за шириною"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Влаштувати за висотою"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Масштабувати"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перейти"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перейти до сторінки"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад документом"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Вперед документом"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Редагувати закладки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Перевірка правопису"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показати панель інструментів"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показати смужку стану"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Прив'язка до клавіш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Налаштувати програму"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Налаштувати панелі"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Налаштувати сповіщення"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Надіслати звіт про помилку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Налаштувати мову…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Про програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Про KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Вилучити"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Перейменувати"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Пересунути до смітника"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Допомогти фінансово"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Показати/Приховати приховані файли"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Створити теку"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Відкрити головне меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Відкрити контекстне меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Засіб KDE для оновлення файлів налаштування користувача"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Залишати результати виводу з скриптів"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Лише для тестування модулів: не записувати виконані записи, щоб із кожним "
+"повторним запуском скрипти виконувалися знову"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Перевірити, чи потребує поновлення сам файл налаштування"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файли, з яких слід зчитувати інструкції щодо оновлення"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог, у якому слід створити файли [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показати дані щодо ліцензування програмного забезпечення."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Використовувати <file> замість загального файла налаштувань"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група, у якій слід вести пошук. Скористайтеся «<default>» для кореневої "
+"групи або використовуйте ітеративно для вкладених груп."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ, який слід шукати"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Типове значення"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип змінної"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Назва групи не може бути порожньою. Скористайтеся «<default>» для створення "
+"кореневої групи"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип змінної. Для логічної змінної скористайтеся типом «bool», інакше змінна "
+"вважається рядком."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Вилучити визначений ключ, якщо увімкнено"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значення для запису. Обов'язкове, для порожнього значення в оболонці "
+"скористайтеся ''."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Порада дня"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Лише для тестування модулів: використовувати тестові каталоги, щоб не "
+#~ "чіпати файлів користувача"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Зберегти параметри"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Перемкнути мову програми"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Параметри"
diff --git a/poqm/uz/kconfig6_qt.po b/poqm/uz/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..39a0d89
--- /dev/null
@@ -0,0 +1,1057 @@
+# translation of kwriteconfig.po to Uzbek
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-07 22:02+0000\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Mashrab Quvatov"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kmashrab@uni-bremen.de"
diff --git a/poqm/uz@cyrillic/kconfig6_qt.po b/poqm/uz@cyrillic/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..364aacf
--- /dev/null
@@ -0,0 +1,1057 @@
+# translation of kwriteconfig.po to Uzbek
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-07 22:02+0000\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"Language: uz@cyrillic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Машраб Қуватов"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kmashrab@uni-bremen.de"
diff --git a/poqm/vi/kconfig6_qt.po b/poqm/vi/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..8710993
--- /dev/null
@@ -0,0 +1,1264 @@
+# Vietnamese translation for kwriteconfig.
+# Copyright © 2006 Free Software Foundation, Inc.
+#
+# Phan Vĩnh Thịnh <teppi82@gmail.com>, 2006.
+# Lê Hoàng Phương <herophuong93@gmail.com>, 2012.
+# Phu Hung Nguyen <phu.nguyen@kdemail.net>, 2020, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-05-31 10:57+0200\n"
+"Last-Translator: Phu Hung Nguyen <phu.nguyen@kdemail.net>\n"
+"Language-Team: Vietnamese <kde-l10n-vi@kde.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 21.12.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Vui lòng liên hệ với quản trị viên hệ thống của bạn."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Tệp cấu hình \"%1\" không ghi được.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Mặc định"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Lùi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Tiến"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Nhà"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Mở"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Mở gần đây"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Lưu"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lưu thành"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Hoàn nguyên"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Đóng"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "In"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Xem thử bản in"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Thư"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Thoát"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Về ứng dụng"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Đảo ngược"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Chép"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Dán"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Làm trống"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Bỏ chọn"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Tìm"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Tìm về sau"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tìm về trước"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Thay thế"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Thu phóng về kích cỡ thật"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Vừa bề rộng"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Vừa bề cao"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Phóng to"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Thu nhỏ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Thu phóng"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Lên"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Lùi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Tiến"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Thêm dấu nhớ"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Sửa dấu nhớ"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Đánh vần"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Chế độ toàn màn hình"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Cấu hình thanh công cụ"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Cấu hình thông báo"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Đây là cái gì"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Báo lỗi"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Về KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Về KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Xoá"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Đổi tên"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Chuyển vào thùng rác"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Quyên góp"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Mở gần đây"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Mở"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Tạo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Đóng"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lưu"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "In"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Thoát"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Đảo ngược"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Làm lại"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cắt"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Chép"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Dán"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Dán phần chọn"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Bỏ chọn"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Xoá từ lùi"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Xoá từ tiến"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Tìm"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Tìm về sau"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Tìm về trước"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Thay thế"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Nhà"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Đầu"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Cuối"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Trước"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sau"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Lên"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Lùi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Tiến"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Tải lại"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Đầu dòng"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Cuối dòng"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Lùi từng từ"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Tiến từng từ"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Thêm dấu nhớ"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Phóng to"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Thu nhỏ"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Chế độ toàn màn hình"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Kích hoạt thẻ sau"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Kích hoạt thẻ trước"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Đây là cái gì"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Hoàn tất văn bản"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Phần khớp hoàn tất trước"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Phần khớp hoàn tất sau"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Hoàn tất chuỗi con"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Mục trước trong danh sách"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Mục sau trong danh sách"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Mở gần đây"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lưu thành"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Hoàn nguyên"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Xem thử bản in"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Thư"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Làm trống"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Thu phóng về kích cỡ thật"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Vừa bề rộng"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Vừa bề cao"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Thu phóng"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Đi đến"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Tài liệu trước"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Tài liệu sau"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Sửa dấu nhớ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Đánh vần"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kết buộc phím"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Cấu hình ứng dụng"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Cấu hình thanh công cụ"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Cấu hình thông báo"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Báo lỗi"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Về ứng dụng"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Về KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Xoá"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Đổi tên"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Chuyển vào thùng rác"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Quyên góp"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Hiện/ẩn tệp ẩn"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Tạo thư mục"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Công cụ KDE để cập nhật các tệp cấu hình của người dùng"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Giữ lại các kết quả đầu ra từ các kịch bản"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kiểm tra liệu chính tệp cấu hình có cần cập nhật không"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "(Các) tệp để từ đó đọc ra hướng dẫn cập nhật"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Thư mục để tạo tệp ở trong [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "thư mục"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Hiển thị giấy phép phần mềm."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Dùng <file> thay cho cấu hình toàn cục"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Tìm trong nhóm nào. Dùng \"<default>\" cho nhóm gốc, hoặc dùng lặp lại để "
+"được các nhóm lồng nhau."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Khoá cần tìm"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Giá trị mặc định"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Kiểu biến"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Tên nhóm không được trống, dùng \"<default>\" cho nhóm gốc"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Kiểu biến. Dùng \"bool\" cho một biến luận lí, ngược lại nó sẽ được coi là "
+"một chuỗi."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Nếu bật, xoá khoá được chỉ định"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Giá trị để ghi. Bắt buộc, trên một hệ vỏ dùng '' cho giá trị rỗng"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Mẹo của ngày"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Chỉ dành cho kiểm thử đơn vị: dùng các thư mục kiểm thử để không động đến "
+#~ "các tệp thực tế của người dùng"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Lưu các lựa chọn"
diff --git a/poqm/wa/kconfig6_qt.po b/poqm/wa/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7cea14e
--- /dev/null
@@ -0,0 +1,1092 @@
+# translation of kwriteconfig.po to Walloon
+# Ratournaedje e walon des messaedjes di KDE.
+#
+# Pablo Saratxaga <pablo@walon.org>, 2004, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-12-17 21:56+0100\n"
+"Last-Translator: Jean Cayron <jean.cayron@gmail.com>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"Language: wa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Eployî <file> purade ki l' apontiaedje globå"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groupe k' on rwaite divins. L' eployî sacwants côpd po les groupes metous n-"
+"onk dins l' ôte."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clé a cweri après"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Sôre di variåve. Eployîz «bool» po on bouleyin, ôtrumint c' est consideré "
+"come ene tchinne di tecse"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Li valixhance a scrire. Obligatwere, so ene roye di cmande eployîz "
+"« '' » (deus croles ki s' shuvèt) po ene tchinne vude"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Sicrire des intrêyes KConfig - po-z eployî dins des scripes shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Sicrijha kreadconfig ki c' est l'båze di ç' programe ci"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
diff --git a/poqm/xh/kconfig6_qt.po b/poqm/xh/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..f273351
--- /dev/null
@@ -0,0 +1,1082 @@
+# translation of kreadconfig.po to Xhosa
+# K Desktop Environment - kreadconfig
+# Copyright (C) 2001 translate.org.za
+# Antoinette Dekeni <antoinette@transalate.org.za>, 2001.
+# Lwandle Mgidlana <lwandle@translate.org.za>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kreadconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2002-10-26 10:38SAST\n"
+"Last-Translator: Lwandle Mgidlana <lwandle@translate.org.za>\n"
+"Language-Team: Xhosa <xhosa@translate.org.za>\n"
+"Language: xh\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0beta2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+#, fuzzy
+#| msgid "Default value"
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Ixabiso lendalo"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Isitshixo emasikhangelwe"
+
+#: kreadconfig/kreadconfig.cpp:53
+#, fuzzy
+#| msgid "Default value"
+msgctxt "main|"
+msgid "Default value"
+msgstr "Ixabiso lendalo"
+
+#: kreadconfig/kreadconfig.cpp:54
+#, fuzzy
+#| msgid "Type of variable"
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Udidi lomahluko"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KReadConfig"
+#~ msgstr "KReadConfig"
+
+#, fuzzy
+#~ msgid "Read KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Funda KGlobal::config() amangeno - okusetyenziswa kwizishicilelo zeqokobhe"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Lwandle Mgidlana"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "lwandle@translate.org.za"
diff --git a/poqm/zh_CN/kconfig6_qt.po b/poqm/zh_CN/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..31e24cd
--- /dev/null
@@ -0,0 +1,1044 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kdeorg\n"
+"PO-Revision-Date: 2024-04-22 15:58\n"
+"Language-Team: Chinese Simplified\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Crowdin-Project: kdeorg\n"
+"X-Crowdin-Project-ID: 269464\n"
+"X-Crowdin-Language: zh-CN\n"
+"X-Crowdin-File: /kf6-trunk/messages/kconfig/kconfig6_qt.pot\n"
+"X-Crowdin-File-ID: 43047\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "请联系您的系统管理员。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "配置文件“%1”不可写入。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "默认"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "后退(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "前进(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "主页(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "新建(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "创建新文档"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "打开(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "打开已有文档"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "打开最近(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "打开最近使用过的文档"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "保存(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "保存文档"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "另存为(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "用新文件名保存文档"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "还原(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "还原文档中未保存的更改"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "关闭(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "关闭文档"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "打印(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "打印文档"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "打印预览(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "显示文档的打印预览"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "电子邮件(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "通过电子邮件发送文档"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "退出(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "退出应用程序"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "撤销(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "撤销上一步操作"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "重做(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "重做上一次撤销的操作"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "剪切(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "剪切所选内容到剪贴板"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "复制(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "复制所选内容到剪贴板"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "粘贴(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "粘贴剪贴板内容"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "清除(&l)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "全部选择(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "取消选择(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "查找(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "查找下一个(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "查找上一个(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "替换(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "缩放为实际大小(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "缩放到文档的实际大小"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "适合整个页面(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "缩放到整个页面适合窗口大小"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "适合页面宽度(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "缩放到页面宽度适合窗口大小"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "适合页面高度(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "缩放到页面高度适合窗口大小"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "放大(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "缩小(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "缩放(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "选择缩放级别"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "刷新(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "刷新"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "上一级(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "跳转到上一级"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "上一页(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "跳转到上一页"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "下一页(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "跳转到下一页"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "跳转到(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "跳转到页面(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "跳转到行(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "第一页(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "跳转到第一页"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "最后一页(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "跳转到最后一页"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "后退(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "在文档中后退"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "前进(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "在文档中前进"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "添加书签(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "编辑书签(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "拼写检查(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "检查文档中的拼写错误"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "显示菜单栏(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "显示或者隐藏菜单栏"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "显示工具栏(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "显示或者隐藏工具栏"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "显示状态栏(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "显示或者隐藏状态栏"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "全屏模式(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "配置键盘快捷键(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "配置 %1(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "配置工具栏(&B)..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "配置通知(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 使用手册(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "这是什么(&T)?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "报告程序缺陷(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "配置语言(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "关于 %1(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "关于 &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "删除(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "重命名(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "移动到回收站(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "捐款(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "打开菜单(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "打开"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新建"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "关闭"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "保存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "打印"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "退出"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "撤销"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "重做"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "剪切"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "复制"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "粘贴"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "粘贴选中内容"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "选择全部"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "取消选择"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "删除前一个单词"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "删除后一个单词"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "查找"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "查找下一个"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "查找上一个"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "替换"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "主页"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "开头"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "结尾"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "之前"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "之后"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "向上"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "后退"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "前进"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "重新加载"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "行首"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "行尾"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "跳转到行"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "上一单词"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "下一单词"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "添加书签"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "放大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "缩小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "全屏模式"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "显示菜单栏"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "激活下一标签页"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "激活上一标签页"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "帮助"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "这是什么"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "文本补全"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "上一条补全匹配"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "下一条补全匹配"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "子串补全"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "列表中的前一项"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "列表中的后一项"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "打开最近项目"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "另存为"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "还原"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "打印预览"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "发送电子邮件"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "清除"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "缩放为实际大小"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "适合整个页面"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "适合页面宽度"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "适合页面高度"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "缩放"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "跳转到"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "跳转到页面"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "文档后退"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "文档前进"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "编辑书签"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "拼写"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "显示工具栏"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "显示状态栏"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "键位绑定"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "配置应用程序"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "配置工具栏"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "配置通知"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "报告程序缺陷"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "配置语言…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "关于应用程序"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "关于 KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "删除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "重命名"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "移动到回收站"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "捐款"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "显示/隐藏隐藏文件"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "创建文件夹"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "打开主菜单"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "打开右键菜单"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE 的用户配置文件更新工具"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "保留脚本的输出结果"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"仅针对单元测试:不要写入已完成的条目,于是每次重新运行时,脚本将被重新执行"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "检查配置文件本身是否需要更新"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "要读取更新指令的文件"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "用于生成文件的目录,格式为 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "目录"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "显示软件许可证。"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "使用 <file> 代替全局设置"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "要查看的组。根组使用“<default>”,嵌套组可重复使用。"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "要查询的键"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "默认值"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "变量类型"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "组名称不能为空,根组应使用“<default>”"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "变量类型。布尔值应选择“bool”,否则它将被视作字符串。"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "启用时删除指定项"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "要写入的值。此为必填项。在 shell 中应使用 \" 代表空值。"
diff --git a/poqm/zh_TW/kconfig6_qt.po b/poqm/zh_TW/kconfig6_qt.po
new file mode 100644 (file)
index 0000000..7266ded
--- /dev/null
@@ -0,0 +1,1068 @@
+# translation of kwriteconfig.po to Chinese Traditional
+#
+# Frank Weng (a.k.a. Franklin) <franklin at goodhorse dot idv dot tw>, 2006, 2008.
+# Franklin Weng <franklin at goodhorse dot idv dot tw>, 2007, 2014, 2015.
+# Jeff Huang <s8321414@gmail.com>, 2016, 2017, 2018, 2020.
+# pan93412 <pan93412@gmail.com>, 2019, 2020.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Kisaragi Hiu <mail@kisaragi-hiu.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-26 16:01+0900\n"
+"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
+"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 24.04.70\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "請聯絡您的系統管理員。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "設定檔 %1 無法寫入。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "預設"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "返回(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "往前(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "首頁(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "新增(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "建立新文件"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "開啟(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "開啟現有的文件"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "開啟最近的(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "開啟最近使用的文件"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "儲存(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "儲存文件"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "另存為(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "以新名稱儲存文件"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "回復(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "回復文件的變更"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "關閉(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "關閉文件"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "列印(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "列印文件"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "預覽列印(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "顯示文件的預覽列印"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "郵寄(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "以郵件傳送文件"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "離開(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "離開應用程式"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "復原(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "復原上一次動作"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "重做(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "重做上一次的動作"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "剪下(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "將選取內容剪下到剪貼簿"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "複製(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "將選取內容複製到剪貼簿"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "貼上(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "貼上剪貼簿內容"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "清除(&L)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "全部選取(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "取消選擇(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "尋找(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "尋找下一個(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "尋找上一個(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "取代(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "縮放到實際大小(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "以實際大小檢視文件"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "調整成適合頁面大小(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "縮放到適合視窗內頁面"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "調整成適合頁面寬度(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "縮放到頁面寬度適合視窗"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "調整成適合頁面高度(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "縮放到頁面高度適合視窗"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "放大(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "縮小(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "縮放(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "選擇縮放等級"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "重新整理(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "重新整理文件"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "向上(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "往上"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "上一頁(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "回到上一頁"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "下一頁(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "前往下一頁"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "前往(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "移至頁面(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "跳至行號(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "第一頁(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "前往第一頁"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "最後一頁(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "前往最後一頁"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "返回(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "在文件內返回"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "往前(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "在文件內往前"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "新增書籤(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "編輯書籤(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "拼字(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "檢查文件內的拼字"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "顯示選單列(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "顯示或隱藏選單列"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "顯示工具列(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "顯示或隱藏工具列"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "顯示狀態列(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "顯示或隱藏狀態列"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "全螢幕模式(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "設定鍵盤快捷鍵(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "設定 %1(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "設定工具列(&B)…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "設定通知(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 手冊(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "這是什麼?(&T)"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "回報問題(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "設定語言(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "關於 %1(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "關於 &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "刪除(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "重新命名(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "移到垃圾桶(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "捐獻(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "開啟選單(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "開啟"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新增"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "關閉"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "儲存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "列印"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "離開"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "復原"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "重做"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "剪下"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "複製"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "貼上"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "貼上選擇區"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "全部選取"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "取消選擇"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "向後刪字"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "向前刪字"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "尋找"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "尋找下一個"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "尋找上一個"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "取代"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "首頁"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "開始"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "結束"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "上一個"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "下一個"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "向上"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "返回"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "往前"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "重新載入"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "行開頭"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "行結尾"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "跳至行號"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "返回一個詞語"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "往前一個詞語"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "加入書籤"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "放大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "縮小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "全螢幕模式"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "顯示選單列"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "跳到下一個分頁"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "跳到前一個分頁"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "說明"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "這是什麼"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "文字補完"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "上一個完成符合"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "下一個完成符合"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "子字串完成"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "上一個清單中的項目"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "下一個清單中的項目"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "開啟最近的"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "另存為"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "回復"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "預覽列印"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "郵件"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "清除"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "縮放到實際大小"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "調整成適合頁面大小"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "調整成適合頁面寬度"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "調整成適合頁面高度"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "縮放"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "跳至"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "移至頁面"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "文件返回"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "文件向前"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "編輯書籤"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "拼字"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "顯示工具列"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "顯示狀態列"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "按鍵組合"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "設定應用程式"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "設定工具列"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "設定通知"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "回報問題"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "設定語言…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "關於應用程式"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "關於 KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "刪除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "重新命名"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "移到垃圾桶"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "捐獻"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "顯示/隱藏已隱藏的檔案"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "建立資料夾"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "開啟主選單"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "開啟內文選單"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "用來更新使用者設定檔案的 KDE 工具"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "保留文稿的輸出結果"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"僅單元測試:不要寫出完成的項目,這樣每次重新執行的時候腳本才會一起重新執行"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "檢查設定檔是否需要更新"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "要讀入更新說明指令的檔案"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "產生檔案的目錄 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "目錄"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "顯示軟體授權。"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "使用 <file> 代替全域設定"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "要檢閱的群組。root 群組請使用 <default> ,或重複使用以檢視巢狀群組。"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "要檢視的鍵值"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "預設數值"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "變數類別"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "群組名稱不能為空,請為 root 使用者群組使用「<default>」設定"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "變數型別。用 bool 表示布林(真假)值,其他型別都將被視為字串"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "啟用時刪除指定鍵"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "要寫入的值。在 shell 中空的值使用 ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "每日小祕訣"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr "單元測試用:用測試目錄以避免動到使用者真正的檔案"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "儲存選項"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "切換應用程式語言"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..bb61a4a
--- /dev/null
@@ -0,0 +1,57 @@
+add_subdirectory(core)
+if(TARGET Qt6::Gui)
+    add_subdirectory(gui)
+endif()
+if(KCONFIG_USE_QML)
+    add_subdirectory(qml)
+endif()
+add_subdirectory(kconfig_compiler)
+add_subdirectory(kconf_update)
+add_subdirectory(kreadconfig)
+
+ecm_qt_install_logging_categories(
+    EXPORT KCONFIG
+    FILE kconfig.categories
+    DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
+)
+
+if(BUILD_QCH)
+    ecm_add_qch(
+        KF6Config_QCH
+        NAME KConfig
+        BASE_NAME KF6Config
+        VERSION ${KF_VERSION}
+        ORG_DOMAIN org.kde
+        SOURCES # using only public headers, to cover only public API
+            ${KConfigCore_APIDOX_SRCS}
+            ${KConfigGui_APIDOX_SRCS}
+            "${CMAKE_CURRENT_SOURCE_DIR}/kconfig_compiler/README.dox"
+            "${CMAKE_SOURCE_DIR}/docs/options.md"
+        MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
+        LINK_QCHS
+            Qt6Core_QCH
+            Qt6Xml_QCH
+            Qt6Gui_QCH
+        INCLUDE_DIRS
+            ${KConfigCore_APIDOX_INCLUDE_DIRS}
+            ${KConfigGui_APIDOX_INCLUDE_DIRS}
+        BLANK_MACROS
+            KCONFIGCORE_EXPORT
+            KCONFIGCORE_DEPRECATED_EXPORT
+            KCONFIGCORE_DEPRECATED
+            "KCONFIGCORE_DEPRECATED_VERSION(x, y, t)"
+            "KCONFIGCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+            "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
+            "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+            KCONFIGGUI_EXPORT
+            KCONFIGGUI_DEPRECATED_EXPORT
+            KCONFIGGUI_DEPRECATED
+            "KCONFIGGUI_DEPRECATED_VERSION(x, y, t)"
+            "KCONFIGGUI_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+            "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
+            "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+        TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
+        QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
+        COMPONENT Devel
+    )
+endif()
diff --git a/src/Messages.sh b/src/Messages.sh
new file mode 100755 (executable)
index 0000000..4a30c8c
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Extract strings from all source files.
+# EXTRACT_TR_STRINGS extracts strings with lupdate and convert them to .pot with
+# lconvert.
+$EXTRACT_TR_STRINGS `find . -name \*.cpp -o -name \*.h -o -name \*.ui -o -name \*.qml` -o $podir/kconfig6_qt.pot
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b2e312e
--- /dev/null
@@ -0,0 +1,95 @@
+add_library(KF6ConfigCore)
+add_library(KF6::ConfigCore ALIAS KF6ConfigCore)
+
+qt_extract_metatypes(KF6ConfigCore)
+
+set_target_properties(KF6ConfigCore PROPERTIES
+    VERSION     ${KCONFIG_VERSION}
+    SOVERSION   ${KCONFIG_SOVERSION}
+    EXPORT_NAME ConfigCore
+)
+
+target_sources(KF6ConfigCore PRIVATE
+    kconfig.cpp
+    kconfigbase.cpp
+    kconfigdata.cpp
+    kconfiggroup.cpp
+    kconfigini.cpp
+    kdesktopfile.cpp
+    kdesktopfileaction.cpp
+    ksharedconfig.cpp
+    kcoreconfigskeleton.cpp
+    kauthorized.cpp
+    kemailsettings.cpp
+    kconfigwatcher.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigCore
+    HEADER kconfig_core_log_settings.h
+    IDENTIFIER KCONFIG_CORE_LOG
+    CATEGORY_NAME kf.config.core
+    OLD_CATEGORY_NAMES kf5.kconfig.core
+    DESCRIPTION "KConfig Core"
+    EXPORT KCONFIG
+)
+
+configure_file(config-kconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kconfig.h )
+
+ecm_generate_export_header(KF6ConfigCore
+    BASE_NAME KConfigCore
+    GROUP_BASE_NAME KF
+    VERSION ${KF_VERSION}
+    USE_VERSION_HEADER
+    VERSION_BASE_NAME KConfig
+    DEPRECATED_BASE_VERSION 0
+    DEPRECATION_VERSIONS 6.3
+    EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_compile_definitions(KF6ConfigCore
+    PRIVATE
+        KCONF_UPDATE_INSTALL_LOCATION="${KDE_INSTALL_FULL_LIBEXECDIR_KF}/$<TARGET_FILE_NAME:KF6::kconf_update>"
+)
+
+target_include_directories(KF6ConfigCore
+    INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigCore>"
+)
+
+target_link_libraries(KF6ConfigCore PUBLIC Qt6::Core)
+
+if(KCONFIG_USE_DBUS)
+    target_link_libraries(KF6ConfigCore PRIVATE Qt6::DBus)
+endif()
+
+ecm_generate_headers(KConfigCore_HEADERS
+  HEADER_NAMES
+  KAuthorized
+  KConfig
+  KConfigBase
+  KConfigGroup
+  KDesktopFile
+  KDesktopFileAction
+  KSharedConfig
+  KCoreConfigSkeleton
+  KEMailSettings
+  KConfigWatcher
+
+  REQUIRED_HEADERS KConfigCore_HEADERS
+)
+
+list(APPEND KConfigCore_HEADERS
+  ${CMAKE_CURRENT_SOURCE_DIR}/kconfigconversioncheck_p.h # helper header included by kconfiggroup.h
+)
+
+install(TARGETS KF6ConfigCore EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+  ${CMAKE_CURRENT_BINARY_DIR}/kconfigcore_export.h
+  ${KConfigCore_HEADERS}
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigCore COMPONENT Devel
+)
+
+# make available to ecm_add_qch in parent folder
+set(KConfigCore_APIDOX_SRCS ${KConfigCore_HEADERS} PARENT_SCOPE)
+set(KConfigCore_APIDOX_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+
diff --git a/src/core/config-kconfig.h.cmake b/src/core/config-kconfig.h.cmake
new file mode 100644 (file)
index 0000000..a4a7519
--- /dev/null
@@ -0,0 +1 @@
+#cmakedefine01 KCONFIG_USE_DBUS
diff --git a/src/core/dbussanitizer_p.h b/src/core/dbussanitizer_p.h
new file mode 100644 (file)
index 0000000..a90d744
--- /dev/null
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: LGPL-2.0-or-later
+// SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+#pragma once
+
+#include <cctype>
+#include <locale>
+
+#include <QString>
+
+inline QString kconfigDBusSanitizePath(QString path)
+{
+    for (auto &character : path) {
+        if ((std::isalnum(character.toLatin1(), std::locale::classic()) == 0) && character != QLatin1Char('_') && character != QLatin1Char('/')) {
+            character = QLatin1Char('_');
+        }
+    }
+    // KConfig notifying or watching on / makes no sense
+    Q_ASSERT_X(path.length() > 1, Q_FUNC_INFO, qUtf8Printable(path));
+    // As per spec the path must start with a slash
+    Q_ASSERT_X(path.at(0) == QLatin1Char('/'), Q_FUNC_INFO, qUtf8Printable(path));
+    // ...but not end with a slash
+    Q_ASSERT_X(path.at(path.size() - 1) != QLatin1Char('/'), Q_FUNC_INFO, qUtf8Printable(path));
+    // ...it also must not contain multiple slashes in sequence
+    Q_ASSERT_X(!path.contains(QLatin1String("//")), Q_FUNC_INFO, qUtf8Printable(path));
+    return path;
+}
diff --git a/src/core/kauthorized.cpp b/src/core/kauthorized.cpp
new file mode 100644 (file)
index 0000000..5cae2ce
--- /dev/null
@@ -0,0 +1,406 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+    SPDX-FileCopyrightText: 1998, 1999, 2000 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kauthorized.h"
+
+#include <QDebug>
+#include <QDir>
+#include <QList>
+#include <QUrl>
+
+#include "kconfig_core_log_settings.h"
+#include <QCoreApplication>
+#include <ksharedconfig.h>
+#include <stdlib.h> // srand(), rand()
+#ifndef Q_OS_WIN
+#include <netdb.h>
+#include <unistd.h>
+#endif
+
+#include <kconfiggroup.h>
+
+#include <QMutexLocker>
+#include <QRecursiveMutex>
+
+extern bool kde_kiosk_exception;
+
+class URLActionRule
+{
+public:
+#define checkExactMatch(s, b)                                                                                                                                  \
+    if (s.isEmpty())                                                                                                                                           \
+        b = true;                                                                                                                                              \
+    else if (s[s.length() - 1] == QLatin1Char('!')) {                                                                                                          \
+        b = false;                                                                                                                                             \
+        s.chop(1);                                                                                                                                             \
+    } else                                                                                                                                                     \
+        b = true;
+#define checkStartWildCard(s, b)                                                                                                                               \
+    if (s.isEmpty())                                                                                                                                           \
+        b = true;                                                                                                                                              \
+    else if (s[0] == QLatin1Char('*')) {                                                                                                                       \
+        b = true;                                                                                                                                              \
+        s.remove(0, 1);                                                                                                                                        \
+    } else                                                                                                                                                     \
+        b = false;
+#define checkEqual(s, b) b = (s == QLatin1String("="));
+
+    URLActionRule(const QByteArray &act,
+                  const QString &bProt,
+                  const QString &bHost,
+                  const QString &bPath,
+                  const QString &dProt,
+                  const QString &dHost,
+                  const QString &dPath,
+                  bool perm)
+        : action(act)
+        , baseProt(bProt)
+        , baseHost(bHost)
+        , basePath(bPath)
+        , destProt(dProt)
+        , destHost(dHost)
+        , destPath(dPath)
+        , permission(perm)
+    {
+        checkExactMatch(baseProt, baseProtWildCard);
+        checkStartWildCard(baseHost, baseHostWildCard);
+        checkExactMatch(basePath, basePathWildCard);
+        checkExactMatch(destProt, destProtWildCard);
+        checkStartWildCard(destHost, destHostWildCard);
+        checkExactMatch(destPath, destPathWildCard);
+        checkEqual(destProt, destProtEqual);
+        checkEqual(destHost, destHostEqual);
+    }
+
+    bool baseMatch(const QUrl &url, const QString &protClass) const
+    {
+        if (baseProtWildCard) {
+            if (!baseProt.isEmpty() //
+                && !url.scheme().startsWith(baseProt) //
+                && (protClass.isEmpty() || (protClass != baseProt))) {
+                return false;
+            }
+        } else {
+            if (url.scheme() != baseProt //
+                && (protClass.isEmpty() || (protClass != baseProt))) {
+                return false;
+            }
+        }
+        if (baseHostWildCard) {
+            if (!baseHost.isEmpty() && !url.host().endsWith(baseHost)) {
+                return false;
+            }
+        } else {
+            if (url.host() != baseHost) {
+                return false;
+            }
+        }
+        if (basePathWildCard) {
+            if (!basePath.isEmpty() && !url.path().startsWith(basePath)) {
+                return false;
+            }
+        } else {
+            if (url.path() != basePath) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    bool destMatch(const QUrl &url, const QString &protClass, const QUrl &base, const QString &baseClass) const
+    {
+        if (destProtEqual) {
+            if (url.scheme() != base.scheme() //
+                && (protClass.isEmpty() || baseClass.isEmpty() || protClass != baseClass)) {
+                return false;
+            }
+        } else if (destProtWildCard) {
+            if (!destProt.isEmpty() //
+                && !url.scheme().startsWith(destProt) //
+                && (protClass.isEmpty() || (protClass != destProt))) {
+                return false;
+            }
+        } else {
+            if (url.scheme() != destProt //
+                && (protClass.isEmpty() || (protClass != destProt))) {
+                return false;
+            }
+        }
+        if (destHostWildCard) {
+            if (!destHost.isEmpty() && !url.host().endsWith(destHost)) {
+                return false;
+            }
+        } else if (destHostEqual) {
+            if (url.host() != base.host()) {
+                return false;
+            }
+        } else {
+            if (url.host() != destHost) {
+                return false;
+            }
+        }
+        if (destPathWildCard) {
+            if (!destPath.isEmpty() && !url.path().startsWith(destPath)) {
+                return false;
+            }
+        } else {
+            if (url.path() != destPath) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    QByteArray action;
+    QString baseProt;
+    QString baseHost;
+    QString basePath;
+    QString destProt;
+    QString destHost;
+    QString destPath;
+    bool baseProtWildCard : 1;
+    bool baseHostWildCard : 1;
+    bool basePathWildCard : 1;
+    bool destProtWildCard : 1;
+    bool destHostWildCard : 1;
+    bool destPathWildCard : 1;
+    bool destProtEqual : 1;
+    bool destHostEqual : 1;
+    bool permission;
+};
+
+Q_DECLARE_TYPEINFO(URLActionRule, Q_RELOCATABLE_TYPE);
+
+class KAuthorizedPrivate
+{
+public:
+    KAuthorizedPrivate()
+        : actionRestrictions(false)
+        , blockEverything(false)
+    {
+        Q_ASSERT_X(QCoreApplication::instance(), "KAuthorizedPrivate()", "There has to be an existing QCoreApplication::instance() pointer");
+
+        KSharedConfig::Ptr config = KSharedConfig::openConfig();
+
+        Q_ASSERT_X(config, "KAuthorizedPrivate()", "There has to be an existing KSharedConfig::openConfig() pointer");
+        if (!config) {
+            blockEverything = true;
+            return;
+        }
+        actionRestrictions = config->hasGroup(QStringLiteral("KDE Action Restrictions")) && !kde_kiosk_exception;
+    }
+
+    ~KAuthorizedPrivate()
+    {
+    }
+
+    bool actionRestrictions : 1;
+    bool blockEverything : 1;
+    QList<URLActionRule> urlActionRestrictions;
+    QRecursiveMutex mutex;
+};
+
+Q_GLOBAL_STATIC(KAuthorizedPrivate, authPrivate)
+#define KAUTHORIZED_D KAuthorizedPrivate *d = authPrivate()
+
+KAuthorized::KAuthorized()
+    : QObject(nullptr)
+{
+}
+
+bool KAuthorized::authorize(const QString &genericAction)
+{
+    KAUTHORIZED_D;
+    if (d->blockEverything) {
+        return false;
+    }
+
+    if (!d->actionRestrictions) {
+        return true;
+    }
+
+    KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE Action Restrictions"));
+    return cg.readEntry(genericAction, true);
+}
+
+bool KAuthorized::authorize(KAuthorized::GenericRestriction action)
+{
+    const QMetaEnum metaEnum = QMetaEnum::fromType<KAuthorized::GenericRestriction>();
+
+    if (metaEnum.isValid() && action != 0) {
+        return KAuthorized::authorize(QString::fromLatin1(metaEnum.valueToKey(action)).toLower());
+    }
+    qCWarning(KCONFIG_CORE_LOG) << "Invalid GenericRestriction requested" << action;
+    return false;
+}
+
+bool KAuthorized::authorizeAction(const QString &action)
+{
+    KAUTHORIZED_D;
+    if (d->blockEverything) {
+        return false;
+    }
+    if (!d->actionRestrictions || action.isEmpty()) {
+        return true;
+    }
+
+    return authorize(QLatin1String("action/") + action);
+}
+
+bool KAuthorized::authorizeAction(KAuthorized::GenericAction action)
+{
+    const QMetaEnum metaEnum = QMetaEnum::fromType<KAuthorized::GenericAction>();
+    if (metaEnum.isValid() && action != 0) {
+        return KAuthorized::authorizeAction(QString::fromLatin1(metaEnum.valueToKey(action)).toLower());
+    }
+    qCWarning(KCONFIG_CORE_LOG) << "Invalid GenericAction requested" << action;
+    return false;
+}
+
+bool KAuthorized::authorizeControlModule(const QString &menuId)
+{
+    if (menuId.isEmpty() || kde_kiosk_exception) {
+        return true;
+    }
+    KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE Control Module Restrictions"));
+    return cg.readEntry(menuId, true);
+}
+
+// Exported for unittests (e.g. in KIO, we're missing tests for this in kconfig)
+KCONFIGCORE_EXPORT void loadUrlActionRestrictions(const KConfigGroup &cg)
+{
+    KAUTHORIZED_D;
+    const QString Any;
+
+    d->urlActionRestrictions.clear();
+    d->urlActionRestrictions.append(URLActionRule("open", Any, Any, Any, Any, Any, Any, true));
+    d->urlActionRestrictions.append(URLActionRule("list", Any, Any, Any, Any, Any, Any, true));
+    // TEST:
+    //  d->urlActionRestrictions.append(
+    //  URLActionRule("list", Any, Any, Any, Any, Any, Any, false));
+    //  d->urlActionRestrictions.append(
+    //  URLActionRule("list", Any, Any, Any, "file", Any, QDir::homePath(), true));
+    d->urlActionRestrictions.append(URLActionRule("link", Any, Any, Any, QStringLiteral(":internet"), Any, Any, true));
+    d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral(":internet"), Any, Any, true));
+
+    // We allow redirections to file: but not from internet protocols, redirecting to file:
+    // is very popular among KIO workers and we don't want to break them
+    d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("file"), Any, Any, true));
+    d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral(":internet"), Any, Any, QStringLiteral("file"), Any, Any, false));
+
+    // local protocols may redirect everywhere
+    d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral(":local"), Any, Any, Any, Any, Any, true));
+
+    // Anyone may redirect to about:
+    d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("about"), Any, Any, true));
+
+    // Anyone may redirect to mailto:
+    d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("mailto"), Any, Any, true));
+
+    // Anyone may redirect to itself, cq. within it's own group
+    d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("="), Any, Any, true));
+
+    d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral("about"), Any, Any, Any, Any, Any, true));
+
+    int count = cg.readEntry("rule_count", 0);
+    QString keyFormat = QStringLiteral("rule_%1");
+    for (int i = 1; i <= count; i++) {
+        QString key = keyFormat.arg(i);
+        const QStringList rule = cg.readEntry(key, QStringList());
+        if (rule.count() != 8) {
+            continue;
+        }
+        const QByteArray action = rule[0].toLatin1();
+        const QString refProt = rule[1];
+        const QString refHost = rule[2];
+        QString refPath = rule[3];
+        const QString urlProt = rule[4];
+        const QString urlHost = rule[5];
+        QString urlPath = rule[6];
+        const bool bEnabled = (rule[7].compare(QLatin1String("true"), Qt::CaseInsensitive) == 0);
+
+        if (refPath.startsWith(QLatin1String("$HOME"))) {
+            refPath.replace(0, 5, QDir::homePath());
+        } else if (refPath.startsWith(QLatin1Char('~'))) {
+            refPath.replace(0, 1, QDir::homePath());
+        }
+        if (urlPath.startsWith(QLatin1String("$HOME"))) {
+            urlPath.replace(0, 5, QDir::homePath());
+        } else if (urlPath.startsWith(QLatin1Char('~'))) {
+            urlPath.replace(0, 1, QDir::homePath());
+        }
+
+        if (refPath.startsWith(QLatin1String("$TMP"))) {
+            refPath.replace(0, 4, QDir::tempPath());
+        }
+        if (urlPath.startsWith(QLatin1String("$TMP"))) {
+            urlPath.replace(0, 4, QDir::tempPath());
+        }
+
+        d->urlActionRestrictions.append(URLActionRule(action, refProt, refHost, refPath, urlProt, urlHost, urlPath, bEnabled));
+    }
+}
+
+namespace KAuthorizedInternal
+{
+/**
+ * Helper for KAuthorized::allowUrlAction in KIO
+ * @private
+ */
+KCONFIGCORE_EXPORT void allowUrlAction(const QString &action, const QUrl &_baseURL, const QUrl &_destURL)
+{
+    KAUTHORIZED_D;
+    QMutexLocker locker((&d->mutex));
+
+    const QString basePath = _baseURL.adjusted(QUrl::StripTrailingSlash).path();
+    const QString destPath = _destURL.adjusted(QUrl::StripTrailingSlash).path();
+
+    d->urlActionRestrictions.append(
+        URLActionRule(action.toLatin1(), _baseURL.scheme(), _baseURL.host(), basePath, _destURL.scheme(), _destURL.host(), destPath, true));
+}
+
+/**
+ * Helper for KAuthorized::authorizeUrlAction in KIO
+ * @private
+ */
+KCONFIGCORE_EXPORT bool
+authorizeUrlAction(const QString &action, const QUrl &_baseURL, const QUrl &_destURL, const QString &baseClass, const QString &destClass)
+{
+    KAUTHORIZED_D;
+    QMutexLocker locker(&(d->mutex));
+    if (d->blockEverything) {
+        return false;
+    }
+
+    if (_destURL.isEmpty()) {
+        return true;
+    }
+
+    bool result = false;
+    if (d->urlActionRestrictions.isEmpty()) {
+        KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE URL Restrictions"));
+        loadUrlActionRestrictions(cg);
+    }
+
+    QUrl baseURL(_baseURL);
+    baseURL.setPath(QDir::cleanPath(baseURL.path()));
+
+    QUrl destURL(_destURL);
+    destURL.setPath(QDir::cleanPath(destURL.path()));
+
+    for (const URLActionRule &rule : std::as_const(d->urlActionRestrictions)) {
+        if ((result != rule.permission) && // No need to check if it doesn't make a difference
+            (action == QLatin1String(rule.action.constData())) && rule.baseMatch(baseURL, baseClass)
+            && rule.destMatch(destURL, destClass, baseURL, baseClass)) {
+            result = rule.permission;
+        }
+    }
+    return result;
+}
+} // namespace
+
+#include "moc_kauthorized.cpp"
diff --git a/src/core/kauthorized.h b/src/core/kauthorized.h
new file mode 100644 (file)
index 0000000..851f71e
--- /dev/null
@@ -0,0 +1,174 @@
+/*  This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+    SPDX-FileCopyrightText: 1998, 1999 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KAUTHORIZED_H
+#define KAUTHORIZED_H
+
+#include <kconfigcore_export.h>
+
+#include <QMetaEnum>
+#include <QObject>
+#include <QStringList>
+#include <QVariant>
+
+class QUrl;
+class QString;
+class QQmlEngine;
+class QJSEngine;
+
+/**
+ * The functions in this namespace provide the core of the Kiosk action
+ * restriction system; the KIO and KXMLGui frameworks build on this.
+ *
+ * The relevant settings are read from the application's KSharedConfig
+ * instance, so actions can be disabled on a per-application or global
+ * basis (by using the kdeglobals file).
+ */
+class KCONFIGCORE_EXPORT KAuthorized : public QObject
+{
+    Q_OBJECT
+public:
+    /**
+     * The enum values lower cased represent the action that is authorized
+     * For example the SHELL_ACCESS value is converted to the "shell_access" string.
+     *
+     * @since 5.88
+     */
+    enum GenericRestriction {
+        SHELL_ACCESS = 1, // if the user is authorized to open a shell or execute shell commands
+        GHNS, /// if the collaborative data sharing framework KNewStuff is authorized
+        // GUI behavior
+        LINEEDIT_REVEAL_PASSWORD, /// if typed characters in password fields can be made visible
+        LINEEDIT_TEXT_COMPLETION, /// if line edits should be allowed to display completions
+        MOVABLE_TOOLBARS, /// if toolbars of apps should be movable
+        RUN_DESKTOP_FILES, /// if .desktop files should be run as executables when clicked
+    };
+    Q_ENUM(GenericRestriction)
+
+    /**
+     *
+     * @since 5.88
+     */
+    enum GenericAction {
+        OPEN_WITH = 1, /// if the open-with menu should be shown for files etc.
+        EDITFILETYPE, /// if mime-type accociations are allowed to be configured
+
+        OPTIONS_SHOW_TOOLBAR, /// if the toolbar should be displayed in apps
+        SWITCH_APPLICATION_LANGUAGE, /// if an action to switch the app language should be shown
+        BOOKMARKS, /// saving bookmarks is allowed
+    };
+    Q_ENUM(GenericAction)
+
+    /**
+     * Returns whether the user is permitted to perform a certain action.
+     *
+     * All settings are read from the "[KDE Action Restrictions]" group.
+     * For example, if kdeglobals contains
+     * @verbatim
+       [KDE Action Restrictions][$i]
+       shell_access=false
+       @endverbatim
+     * then
+     * @code
+     * KAuthorized::authorize("shell_access");
+     * @endcode
+     * will return @c false.
+     *
+     * This method is intended for actions that do not necessarily have a
+     * one-to-one correspondence with a menu or toolbar item (ie: a QAction
+     * in a KXMLGui application).  "shell_access" is an example of such a
+     * "generic" action.
+     *
+     * The convention for actions like "File->New" is to prepend the action
+     * name with "action/", for example "action/file_new".  This is what
+     * authorizeAction() does.
+     *
+     * @param action  The name of the action.
+     * @return        @c true if the action is authorized, @c false
+     *                otherwise.
+     *
+     * @see authorizeAction()
+     */
+    Q_INVOKABLE static bool authorize(const QString &action);
+
+    /**
+     * Returns whether the user is permitted to perform a common action.
+     * The enum values lower cased represent the action that is
+     * passed in to @p authorize(QString)
+     *
+     * @overload
+     * @since 5.88
+     */
+    Q_INVOKABLE static bool authorize(GenericRestriction action);
+
+    /**
+     * Returns whether the user is permitted to perform a certain action.
+     *
+     * This behaves like authorize(), except that "action/" is prepended to
+     * @p action.  So if kdeglobals contains
+     * @verbatim
+       [KDE Action Restrictions][$i]
+       action/file_new=false
+       @endverbatim
+     * then
+     * @code
+     * KAuthorized::authorizeAction("file_new");
+     * @endcode
+     * will return @c false.
+     *
+     * KXMLGui-based applications should not normally need to call this
+     * function, as KActionCollection will do it automatically.
+     *
+     * @param action  The name of a QAction action.
+     * @return        @c true if the QAction is authorized, @c false
+     *                otherwise.
+     * @since 5.24
+     *
+     * @see authorize()
+     */
+    Q_INVOKABLE static bool authorizeAction(const QString &action);
+
+    /**
+     * Overload to authorize common actions.
+     *
+     * @overload
+     * @since 5.88
+     */
+    Q_INVOKABLE static bool authorizeAction(GenericAction action);
+
+    /**
+     * Returns whether the user is permitted to use a certain control module.
+     *
+     * All settings are read from the "[KDE Control Module Restrictions]"
+     * group.  For example, if kdeglobals contains
+     * @verbatim
+       [KDE Control Module Restrictions][$i]
+       kcm_desktop-settings=false
+       @endverbatim
+     * then
+     * @code
+     * KAuthorized::authorizeControlModule("kcm_desktop-settings");
+     * @endcode
+     * will return @c false.
+     *
+     * @param pluginId  The desktop menu ID for the control module.
+     * @return @c true if access to the module is authorized, @c false otherwise.
+     *
+     */
+    Q_INVOKABLE static bool authorizeControlModule(const QString &pluginId);
+
+    static KAuthorized *create(QQmlEngine *, QJSEngine *)
+    {
+        return new KAuthorized;
+    }
+
+private:
+    friend class KConfigQmlPlugin;
+    explicit KAuthorized();
+};
+
+#endif
diff --git a/src/core/kconfig.cpp b/src/core/kconfig.cpp
new file mode 100644 (file)
index 0000000..27651fc
--- /dev/null
@@ -0,0 +1,1031 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfig.h"
+#include "kconfig_p.h"
+
+#include "config-kconfig.h"
+#include "dbussanitizer_p.h"
+#include "kconfig_core_log_settings.h"
+
+#include <fcntl.h>
+
+#include "kconfiggroup.h"
+
+#include <QBasicMutex>
+#include <QByteArray>
+#include <QCache>
+#include <QCoreApplication>
+#include <QDir>
+#include <QFile>
+#include <QLocale>
+#include <QMutexLocker>
+#include <QProcess>
+#include <QSet>
+#include <QThreadStorage>
+#include <QTimeZone>
+
+#include <algorithm>
+#include <iterator>
+#include <set>
+
+#if KCONFIG_USE_DBUS
+#include <QDBusConnection>
+#include <QDBusMessage>
+#include <QDBusMetaType>
+#endif
+
+bool KConfigPrivate::mappingsRegistered = false;
+
+// For caching purposes
+static bool s_wasTestModeEnabled = false;
+
+Q_GLOBAL_STATIC(QStringList, s_globalFiles) // For caching purposes.
+static QBasicMutex s_globalFilesMutex;
+Q_GLOBAL_STATIC_WITH_ARGS(QString, sGlobalFileName, (QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String("/kdeglobals")))
+
+using ParseCacheKey = std::pair<QStringList, QString>;
+struct ParseCacheValue {
+    KEntryMap entries;
+    QDateTime parseTime;
+};
+using ParseCache = QThreadStorage<QCache<ParseCacheKey, ParseCacheValue>>;
+Q_GLOBAL_STATIC(ParseCache, sGlobalParse)
+
+#ifndef Q_OS_WIN
+static const Qt::CaseSensitivity sPathCaseSensitivity = Qt::CaseSensitive;
+#else
+static const Qt::CaseSensitivity sPathCaseSensitivity = Qt::CaseInsensitive;
+#endif
+
+KConfigPrivate::KConfigPrivate(KConfig::OpenFlags flags, QStandardPaths::StandardLocation resourceType)
+    : openFlags(flags)
+    , resourceType(resourceType)
+    , mBackend(new KConfigIniBackend)
+    , bDirty(false)
+    , bReadDefaults(false)
+    , bFileImmutable(false)
+    , bForceGlobal(false)
+    , bSuppressGlobal(false)
+    , configState(KConfigBase::NoAccess)
+{
+    const bool isTestMode = QStandardPaths::isTestModeEnabled();
+    // If sGlobalFileName was initialised and testMode has been toggled,
+    // sGlobalFileName may need to be updated to point to the correct kdeglobals file
+    if (sGlobalFileName.exists() && s_wasTestModeEnabled != isTestMode) {
+        s_wasTestModeEnabled = isTestMode;
+        *sGlobalFileName = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String("/kdeglobals");
+    }
+
+    static QBasicAtomicInt use_etc_kderc = Q_BASIC_ATOMIC_INITIALIZER(-1);
+    if (use_etc_kderc.loadRelaxed() < 0) {
+        use_etc_kderc.storeRelaxed(!qEnvironmentVariableIsSet("KDE_SKIP_KDERC")); // for unit tests
+    }
+    if (use_etc_kderc.loadRelaxed()) {
+        etc_kderc =
+#ifdef Q_OS_WIN
+            QFile::decodeName(qgetenv("WINDIR") + "/kde5rc");
+#else
+            QStringLiteral("/etc/kde5rc");
+#endif
+        if (!QFileInfo(etc_kderc).isReadable()) {
+            use_etc_kderc.storeRelaxed(false);
+            etc_kderc.clear();
+        }
+    }
+
+    //    if (!mappingsRegistered) {
+    //        KEntryMap tmp;
+    //        if (!etc_kderc.isEmpty()) {
+    //            QExplicitlySharedDataPointer<KConfigBackend> backend = KConfigBackend::create(etc_kderc, QLatin1String("INI"));
+    //            backend->parseConfig( "en_US", tmp, KConfigBackend::ParseDefaults);
+    //        }
+    //        const QString kde5rc(QDir::home().filePath(".kde5rc"));
+    //        if (KStandardDirs::checkAccess(kde5rc, R_OK)) {
+    //            QExplicitlySharedDataPointer<KConfigBackend> backend = KConfigBackend::create(kde5rc, QLatin1String("INI"));
+    //            backend->parseConfig( "en_US", tmp, KConfigBackend::ParseOptions());
+    //        }
+    //        KConfigBackend::registerMappings(tmp);
+    //        mappingsRegistered = true;
+    //    }
+
+    setLocale(QLocale().name());
+}
+
+bool KConfigPrivate::lockLocal()
+{
+    return mBackend->lock();
+}
+
+static bool isGroupOrSubGroupMatch(KEntryMapConstIterator entryMapIt, const QString &group)
+{
+    const QString &entryGroup = entryMapIt->first.mGroup;
+    Q_ASSERT_X(entryGroup.startsWith(group), Q_FUNC_INFO, "Precondition");
+    return entryGroup.size() == group.size() || entryGroup[group.size()] == QLatin1Char('\x1d');
+}
+
+void KConfigPrivate::copyGroup(const QString &source, const QString &destination, KConfigGroup *otherGroup, KConfigBase::WriteConfigFlags flags) const
+{
+    KEntryMap &otherMap = otherGroup->config()->d_ptr->entryMap;
+    const bool sameName = (destination == source);
+
+    // we keep this bool outside the for loop so that if
+    // the group is empty, we don't end up marking the other config
+    // as dirty erroneously
+    bool dirtied = false;
+
+    entryMap.forEachEntryWhoseGroupStartsWith(source, [&source, &destination, flags, &otherMap, sameName, &dirtied](KEntryMapConstIterator entryMapIt) {
+        // don't copy groups that start with the same prefix, but are not sub-groups
+        if (!isGroupOrSubGroupMatch(entryMapIt, source)) {
+            return;
+        }
+
+        KEntryKey newKey = entryMapIt->first;
+
+        if (flags & KConfigBase::Localized) {
+            newKey.bLocal = true;
+        }
+
+        if (!sameName) {
+            newKey.mGroup.replace(0, source.size(), destination);
+        }
+
+        KEntry entry = entryMapIt->second;
+        dirtied = entry.bDirty = flags & KConfigBase::Persistent;
+
+        if (flags & KConfigBase::Global) {
+            entry.bGlobal = true;
+        }
+
+        if (flags & KConfigBase::Notify) {
+            entry.bNotify = true;
+        }
+
+        otherMap[newKey] = entry;
+    });
+
+    if (dirtied) {
+        otherGroup->config()->d_ptr->bDirty = true;
+    }
+}
+
+QString KConfigPrivate::expandString(const QString &value)
+{
+    QString aValue = value;
+
+    // check for environment variables and make necessary translations
+    int nDollarPos = aValue.indexOf(QLatin1Char('$'));
+    while (nDollarPos != -1 && nDollarPos + 1 < aValue.length()) {
+        // there is at least one $
+        if (aValue.at(nDollarPos + 1) != QLatin1Char('$')) {
+            int nEndPos = nDollarPos + 1;
+            // the next character is not $
+            QStringView aVarName;
+            if (aValue.at(nEndPos) == QLatin1Char('{')) {
+                while ((nEndPos <= aValue.length()) && (aValue[nEndPos] != QLatin1Char('}'))) {
+                    ++nEndPos;
+                }
+                ++nEndPos;
+                aVarName = QStringView(aValue).mid(nDollarPos + 2, nEndPos - nDollarPos - 3);
+            } else {
+                while (nEndPos < aValue.length() && (aValue[nEndPos].isNumber() || aValue[nEndPos].isLetter() || aValue[nEndPos] == QLatin1Char('_'))) {
+                    ++nEndPos;
+                }
+                aVarName = QStringView(aValue).mid(nDollarPos + 1, nEndPos - nDollarPos - 1);
+            }
+            QString env;
+            if (!aVarName.isEmpty()) {
+#ifdef Q_OS_WIN
+                if (aVarName == QLatin1String("HOME")) {
+                    env = QDir::homePath();
+                } else
+#endif
+                {
+                    QByteArray pEnv = qgetenv(aVarName.toLatin1().constData());
+                    if (!pEnv.isEmpty()) {
+                        env = QString::fromLocal8Bit(pEnv.constData());
+                    } else {
+                        if (aVarName == QLatin1String("QT_DATA_HOME")) {
+                            env = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
+                        } else if (aVarName == QLatin1String("QT_CONFIG_HOME")) {
+                            env = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+                        } else if (aVarName == QLatin1String("QT_CACHE_HOME")) {
+                            env = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation);
+                        }
+                    }
+                }
+                aValue.replace(nDollarPos, nEndPos - nDollarPos, env);
+                nDollarPos += env.length();
+            } else {
+                aValue.remove(nDollarPos, nEndPos - nDollarPos);
+            }
+        } else {
+            // remove one of the dollar signs
+            aValue.remove(nDollarPos, 1);
+            ++nDollarPos;
+        }
+        nDollarPos = aValue.indexOf(QLatin1Char('$'), nDollarPos);
+    }
+
+    return aValue;
+}
+
+KConfig::KConfig(const QString &file, OpenFlags mode, QStandardPaths::StandardLocation resourceType)
+    : d_ptr(new KConfigPrivate(mode, resourceType))
+{
+    d_ptr->changeFileName(file); // set the local file name
+
+    // read initial information off disk
+    reparseConfiguration();
+}
+
+#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(6, 3)
+KConfig::KConfig(const QString &file, const QString &backend, QStandardPaths::StandardLocation resourceType)
+    : d_ptr(new KConfigPrivate(SimpleConfig, resourceType))
+{
+    Q_UNUSED(backend);
+    d_ptr->changeFileName(file); // set the local file name
+
+    // read initial information off disk
+    reparseConfiguration();
+}
+#endif
+
+KConfig::KConfig(KConfigPrivate &d)
+    : d_ptr(&d)
+{
+}
+
+KConfig::~KConfig()
+{
+    Q_D(KConfig);
+    if (d->bDirty && d->mBackend->ref.loadRelaxed() == 1) {
+        sync();
+    }
+    delete d;
+}
+
+static bool isNonDeletedKey(KEntryMapConstIterator entryMapIt)
+{
+    return !entryMapIt->first.mKey.isNull() && !entryMapIt->second.bDeleted;
+}
+// is a key without default values and not deleted
+static bool isSetKey(KEntryMapConstIterator entryMapIt)
+{
+    return !entryMapIt->first.bDefault && !entryMapIt->second.bDeleted;
+}
+
+static int findFirstGroupEndPos(const QString &groupFullName, int from = 0)
+{
+    const auto index = groupFullName.indexOf(QLatin1Char('\x1d'), from);
+    return index == -1 ? groupFullName.size() : index;
+}
+
+static QStringList stringListFromStringViewCollection(const QSet<QStringView> &source)
+{
+    QStringList list;
+    list.reserve(source.size());
+    std::transform(source.cbegin(), source.cend(), std::back_inserter(list), [](QStringView view) {
+        return view.toString();
+    });
+    return list;
+}
+
+QStringList KConfig::groupList() const
+{
+    Q_D(const KConfig);
+    QSet<QStringView> groups;
+
+    for (auto entryMapIt = d->entryMap.cbegin(); entryMapIt != d->entryMap.cend(); ++entryMapIt) {
+        const QString &group = entryMapIt->first.mGroup;
+        if (isNonDeletedKey(entryMapIt) && !group.isEmpty() && group != QStringLiteral("<default>") && group != QStringLiteral("$Version")) {
+            groups.insert(QStringView(group).left(findFirstGroupEndPos(group)));
+        }
+    }
+
+    return stringListFromStringViewCollection(groups);
+}
+
+QStringList KConfigPrivate::groupList(const QString &groupName) const
+{
+    const QString theGroup = groupName + QLatin1Char('\x1d');
+    QSet<QStringView> groups;
+
+    entryMap.forEachEntryWhoseGroupStartsWith(theGroup, [&theGroup, &groups](KEntryMapConstIterator entryMapIt) {
+        if (isNonDeletedKey(entryMapIt)) {
+            const QString &entryGroup = entryMapIt->first.mGroup;
+            const auto subgroupStartPos = theGroup.size();
+            const auto subgroupEndPos = findFirstGroupEndPos(entryGroup, subgroupStartPos);
+            groups.insert(QStringView(entryGroup).mid(subgroupStartPos, subgroupEndPos - subgroupStartPos));
+        }
+    });
+
+    return stringListFromStringViewCollection(groups);
+}
+
+/// Returns @p parentGroup itself, all its subgroups, subsubgroups, and so on, including deleted groups.
+QSet<QString> KConfigPrivate::allSubGroups(const QString &parentGroup) const
+{
+    QSet<QString> groups;
+
+    entryMap.forEachEntryWhoseGroupStartsWith(parentGroup, [&parentGroup, &groups](KEntryMapConstIterator entryMapIt) {
+        const KEntryKey &key = entryMapIt->first;
+        if (key.mKey.isNull() && isGroupOrSubGroupMatch(entryMapIt, parentGroup)) {
+            groups << key.mGroup;
+        }
+    });
+
+    return groups;
+}
+
+bool KConfigPrivate::hasNonDeletedEntries(const QString &group) const
+{
+    return entryMap.anyEntryWhoseGroupStartsWith(group, [&group](KEntryMapConstIterator entryMapIt) {
+        return isGroupOrSubGroupMatch(entryMapIt, group) && isNonDeletedKey(entryMapIt);
+    });
+}
+
+QList<QByteArray> KConfigPrivate::keyListImpl(const QString &theGroup) const
+{
+    std::set<QByteArray> tmp; // unique set, sorted for unittests
+
+    entryMap.forEachEntryOfGroup(theGroup, [&tmp](KEntryMapConstIterator it) {
+        if (isNonDeletedKey(it)) {
+            tmp.insert(it->first.mKey);
+        }
+    });
+
+    return QList<QByteArray>(tmp.begin(), tmp.end());
+}
+
+QStringList KConfigPrivate::usedKeyList(const QString &theGroup) const
+{
+    std::set<QString> tmp; // unique set, sorting as side-effect
+
+    entryMap.forEachEntryOfGroup(theGroup, [&tmp](KEntryMapConstIterator it) {
+        // leave the default values and deleted entries out, same as KConfig::entryMap()
+        if (isSetKey(it)) {
+            const QString key = QString::fromUtf8(it->first.mKey);
+            tmp.insert(key);
+        }
+    });
+
+    return QStringList(tmp.begin(), tmp.end());
+}
+
+QMap<QString, QString> KConfig::entryMap(const QString &aGroup) const
+{
+    Q_D(const KConfig);
+    QMap<QString, QString> theMap;
+    const QString theGroup = aGroup.isEmpty() ? QStringLiteral("<default>") : aGroup;
+
+    d->entryMap.forEachEntryOfGroup(theGroup, [&theMap](KEntryMapConstIterator it) {
+        // leave the default values and deleted entries out
+        if (isSetKey(it)) {
+            const QString key = QString::fromUtf8(it->first.mKey.constData());
+            // the localized entry should come first, so don't overwrite it
+            // with the non-localized entry
+            if (!theMap.contains(key)) {
+                if (it->second.bExpand) {
+                    theMap.insert(key, KConfigPrivate::expandString(QString::fromUtf8(it->second.mValue.constData())));
+                } else {
+                    theMap.insert(key, QString::fromUtf8(it->second.mValue.constData()));
+                }
+            }
+        }
+    });
+
+    return theMap;
+}
+
+bool KConfig::sync()
+{
+    Q_D(KConfig);
+
+    if (isImmutable() || name().isEmpty()) {
+        // can't write to an immutable or anonymous file.
+        return false;
+    }
+
+    QHash<QString, QByteArrayList> notifyGroupsLocal;
+    QHash<QString, QByteArrayList> notifyGroupsGlobal;
+
+    if (d->bDirty) {
+        const QByteArray utf8Locale(locale().toUtf8());
+
+        // Create the containing dir, maybe it wasn't there
+        d->mBackend->createEnclosing();
+
+        // lock the local file
+        if (d->configState == ReadWrite && !d->lockLocal()) {
+            qCWarning(KCONFIG_CORE_LOG) << "couldn't lock local file";
+            return false;
+        }
+
+        // Rewrite global/local config only if there is a dirty entry in it.
+        bool writeGlobals = false;
+        bool writeLocals = false;
+
+        for (const auto &[key, e] : d->entryMap) {
+            if (e.bDirty) {
+                if (e.bGlobal) {
+                    writeGlobals = true;
+                    if (e.bNotify) {
+                        notifyGroupsGlobal[key.mGroup] << key.mKey;
+                    }
+                } else {
+                    writeLocals = true;
+                    if (e.bNotify) {
+                        notifyGroupsLocal[key.mGroup] << key.mKey;
+                    }
+                }
+            }
+        }
+
+        d->bDirty = false; // will revert to true if a config write fails
+
+        if (d->wantGlobals() && writeGlobals) {
+            QExplicitlySharedDataPointer<KConfigIniBackend> tmp(new KConfigIniBackend());
+            tmp->setFilePath(*sGlobalFileName);
+            if (d->configState == ReadWrite && !tmp->lock()) {
+                qCWarning(KCONFIG_CORE_LOG) << "couldn't lock global file";
+
+                // unlock the local config if we're returning early
+                if (d->mBackend->isLocked()) {
+                    d->mBackend->unlock();
+                }
+
+                d->bDirty = true;
+                return false;
+            }
+            if (!tmp->writeConfig(utf8Locale, d->entryMap, KConfigIniBackend::WriteGlobal)) {
+                d->bDirty = true;
+            }
+            if (tmp->isLocked()) {
+                tmp->unlock();
+            }
+        }
+
+        if (writeLocals) {
+            if (!d->mBackend->writeConfig(utf8Locale, d->entryMap, KConfigIniBackend::WriteOptions())) {
+                d->bDirty = true;
+            }
+        }
+        if (d->mBackend->isLocked()) {
+            d->mBackend->unlock();
+        }
+    }
+
+    // Notifying absolute paths is not supported and also makes no sense.
+    const bool isAbsolutePath = name().at(0) == QLatin1Char('/');
+    if (!notifyGroupsLocal.isEmpty() && !isAbsolutePath) {
+        d->notifyClients(notifyGroupsLocal, kconfigDBusSanitizePath(QLatin1Char('/') + name()));
+    }
+    if (!notifyGroupsGlobal.isEmpty()) {
+        d->notifyClients(notifyGroupsGlobal, QStringLiteral("/kdeglobals"));
+    }
+
+    return !d->bDirty;
+}
+
+void KConfigPrivate::notifyClients(const QHash<QString, QByteArrayList> &changes, const QString &path)
+{
+#if KCONFIG_USE_DBUS
+    qDBusRegisterMetaType<QByteArrayList>();
+
+    qDBusRegisterMetaType<QHash<QString, QByteArrayList>>();
+
+    QDBusMessage message = QDBusMessage::createSignal(path, QStringLiteral("org.kde.kconfig.notify"), QStringLiteral("ConfigChanged"));
+    message.setArguments({QVariant::fromValue(changes)});
+    QDBusConnection::sessionBus().send(message);
+#else
+    Q_UNUSED(changes)
+    Q_UNUSED(path)
+#endif
+}
+
+void KConfig::markAsClean()
+{
+    Q_D(KConfig);
+    d->bDirty = false;
+
+    // clear any dirty flags that entries might have set
+    for (auto &[_, entry] : d->entryMap) {
+        entry.bDirty = false;
+        entry.bNotify = false;
+    }
+}
+
+bool KConfig::isDirty() const
+{
+    Q_D(const KConfig);
+    return d->bDirty;
+}
+
+void KConfig::checkUpdate(const QString &id, const QString &updateFile)
+{
+    const KConfigGroup cg(this, QStringLiteral("$Version"));
+    const QString cfg_id = updateFile + QLatin1Char(':') + id;
+    const QStringList ids = cg.readEntry("update_info", QStringList());
+    if (!ids.contains(cfg_id)) {
+        QProcess::execute(QStringLiteral(KCONF_UPDATE_INSTALL_LOCATION), QStringList{QStringLiteral("--check"), updateFile});
+        reparseConfiguration();
+    }
+}
+
+KConfig *KConfig::copyTo(const QString &file, KConfig *config) const
+{
+    Q_D(const KConfig);
+    if (!config) {
+        config = new KConfig(QString(), SimpleConfig, d->resourceType);
+    }
+    config->d_func()->changeFileName(file);
+    config->d_func()->entryMap = d->entryMap;
+    config->d_func()->bFileImmutable = false;
+
+    for (auto &[_, entry] : config->d_func()->entryMap) {
+        entry.bDirty = true;
+    }
+    config->d_ptr->bDirty = true;
+
+    return config;
+}
+
+QString KConfig::name() const
+{
+    Q_D(const KConfig);
+    return d->fileName;
+}
+
+KConfig::OpenFlags KConfig::openFlags() const
+{
+    Q_D(const KConfig);
+    return d->openFlags;
+}
+
+struct KConfigStaticData {
+    QString globalMainConfigName;
+    // Keep a copy so we can use it in global dtors, after qApp is gone
+    QStringList appArgs;
+};
+Q_GLOBAL_STATIC(KConfigStaticData, globalData)
+static QBasicMutex s_globalDataMutex;
+
+void KConfig::setMainConfigName(const QString &str)
+{
+    QMutexLocker locker(&s_globalDataMutex);
+    globalData()->globalMainConfigName = str;
+}
+
+QString KConfig::mainConfigName()
+{
+    QMutexLocker locker(&s_globalDataMutex);
+    KConfigStaticData *data = globalData();
+    if (data->appArgs.isEmpty()) {
+        data->appArgs = QCoreApplication::arguments();
+    }
+
+    // --config on the command line overrides everything else
+    const QStringList args = data->appArgs;
+    for (int i = 1; i < args.count(); ++i) {
+        if (args.at(i) == QLatin1String("--config") && i < args.count() - 1) {
+            return args.at(i + 1);
+        }
+    }
+    const QString globalName = data->globalMainConfigName;
+    if (!globalName.isEmpty()) {
+        return globalName;
+    }
+
+    QString appName = QCoreApplication::applicationName();
+    return appName + QLatin1String("rc");
+}
+
+void KConfigPrivate::changeFileName(const QString &name)
+{
+    fileName = name;
+
+    QString file;
+    if (name.isEmpty()) {
+        if (wantDefaults()) { // accessing default app-specific config "appnamerc"
+            fileName = KConfig::mainConfigName();
+            file = QStandardPaths::writableLocation(resourceType) + QLatin1Char('/') + fileName;
+        } else if (wantGlobals()) { // accessing "kdeglobals" by specifying no filename and NoCascade - XXX used anywhere?
+            resourceType = QStandardPaths::GenericConfigLocation;
+            fileName = QStringLiteral("kdeglobals");
+            file = *sGlobalFileName;
+        } else {
+            // anonymous config
+            openFlags = KConfig::SimpleConfig;
+            return;
+        }
+    } else if (QDir::isAbsolutePath(fileName)) {
+        fileName = QFileInfo(fileName).canonicalFilePath();
+        if (fileName.isEmpty()) { // file doesn't exist (yet)
+            fileName = name;
+        }
+        file = fileName;
+    } else {
+        file = QStandardPaths::writableLocation(resourceType) + QLatin1Char('/') + fileName;
+    }
+
+    Q_ASSERT(!file.isEmpty());
+
+    bSuppressGlobal = (file.compare(*sGlobalFileName, sPathCaseSensitivity) == 0);
+
+    mBackend->setFilePath(file);
+
+    configState = mBackend->accessMode();
+}
+
+void KConfig::reparseConfiguration()
+{
+    Q_D(KConfig);
+    if (d->fileName.isEmpty()) {
+        return;
+    }
+
+    // Don't lose pending changes
+    if (!d->isReadOnly() && d->bDirty) {
+        sync();
+    }
+
+    d->entryMap.clear();
+
+    d->bFileImmutable = false;
+
+    {
+        QMutexLocker locker(&s_globalFilesMutex);
+        s_globalFiles()->clear();
+    }
+
+    // Parse all desired files from the least to the most specific.
+    if (d->wantGlobals()) {
+        d->parseGlobalFiles();
+    }
+
+    d->parseConfigFiles();
+}
+
+QStringList KConfigPrivate::getGlobalFiles() const
+{
+    QMutexLocker locker(&s_globalFilesMutex);
+    if (s_globalFiles()->isEmpty()) {
+        const QStringList paths1 = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("kdeglobals"));
+        const QStringList paths2 = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("system.kdeglobals"));
+
+        const bool useEtcKderc = !etc_kderc.isEmpty();
+        s_globalFiles()->reserve(paths1.size() + paths2.size() + (useEtcKderc ? 1 : 0));
+
+        for (const QString &dir1 : paths1) {
+            s_globalFiles()->push_front(dir1);
+        }
+        for (const QString &dir2 : paths2) {
+            s_globalFiles()->push_front(dir2);
+        }
+
+        if (useEtcKderc) {
+            s_globalFiles()->push_front(etc_kderc);
+        }
+    }
+
+    return *s_globalFiles();
+}
+
+void KConfigPrivate::parseGlobalFiles()
+{
+    const QStringList globalFiles = getGlobalFiles();
+    //    qDebug() << "parsing global files" << globalFiles;
+
+    Q_ASSERT(entryMap.empty());
+    const ParseCacheKey key = {globalFiles, locale};
+    auto data = sGlobalParse->localData().object(key);
+    QDateTime newest;
+    for (const auto &file : globalFiles) {
+        const auto fileDate = QFileInfo(file).lastModified(QTimeZone::UTC);
+        if (fileDate > newest) {
+            newest = fileDate;
+        }
+    }
+    if (data) {
+        if (data->parseTime < newest) {
+            data = nullptr;
+        } else {
+            entryMap = data->entries;
+            return;
+        }
+    }
+
+    const QByteArray utf8Locale = locale.toUtf8();
+    for (const QString &file : globalFiles) {
+        KConfigIniBackend::ParseOptions parseOpts = KConfigIniBackend::ParseGlobal | KConfigIniBackend::ParseExpansions;
+
+        if (file.compare(*sGlobalFileName, sPathCaseSensitivity) != 0) {
+            parseOpts |= KConfigIniBackend::ParseDefaults;
+        }
+
+        QExplicitlySharedDataPointer<KConfigIniBackend> backend(new KConfigIniBackend);
+        backend->setFilePath(file);
+        if (backend->parseConfig(utf8Locale, entryMap, parseOpts) == KConfigIniBackend::ParseImmutable) {
+            break;
+        }
+    }
+    sGlobalParse->localData().insert(key, new ParseCacheValue({entryMap, newest}));
+}
+
+void KConfigPrivate::parseConfigFiles()
+{
+    // can only read the file if there is a backend and a file name
+    if (!fileName.isEmpty()) {
+        bFileImmutable = false;
+
+        QList<QString> files;
+        if (wantDefaults()) {
+            if (bSuppressGlobal) {
+                files = getGlobalFiles();
+            } else {
+                if (QDir::isAbsolutePath(fileName)) {
+                    const QString canonicalFile = QFileInfo(fileName).canonicalFilePath();
+                    if (!canonicalFile.isEmpty()) { // empty if it doesn't exist
+                        files << canonicalFile;
+                    }
+                } else {
+                    const QStringList localFilesPath = QStandardPaths::locateAll(resourceType, fileName);
+                    for (const QString &f : localFilesPath) {
+                        files.prepend(QFileInfo(f).canonicalFilePath());
+                    }
+
+                    // allow fallback to config files bundled in resources
+                    const QString resourceFile(QStringLiteral(":/kconfig/") + fileName);
+                    if (QFile::exists(resourceFile)) {
+                        files.prepend(resourceFile);
+                    }
+                }
+            }
+        } else {
+            files << mBackend->filePath();
+        }
+        if (!isSimple()) {
+            files = QList<QString>(extraFiles.cbegin(), extraFiles.cend()) + files;
+        }
+
+        //        qDebug() << "parsing local files" << files;
+
+        const QByteArray utf8Locale = locale.toUtf8();
+        for (const QString &file : std::as_const(files)) {
+            if (file.compare(mBackend->filePath(), sPathCaseSensitivity) == 0) {
+                switch (mBackend->parseConfig(utf8Locale, entryMap, KConfigIniBackend::ParseExpansions)) {
+                case KConfigIniBackend::ParseOk:
+                    break;
+                case KConfigIniBackend::ParseImmutable:
+                    bFileImmutable = true;
+                    break;
+                case KConfigIniBackend::ParseOpenError:
+                    configState = KConfigBase::NoAccess;
+                    break;
+                }
+            } else {
+                QExplicitlySharedDataPointer<KConfigIniBackend> backend(new KConfigIniBackend);
+                backend->setFilePath(file);
+                constexpr auto parseOpts = KConfigIniBackend::ParseDefaults | KConfigIniBackend::ParseExpansions;
+                bFileImmutable = backend->parseConfig(utf8Locale, entryMap, parseOpts) == KConfigIniBackend::ParseImmutable;
+            }
+
+            if (bFileImmutable) {
+                break;
+            }
+        }
+    }
+}
+
+KConfig::AccessMode KConfig::accessMode() const
+{
+    Q_D(const KConfig);
+    return d->configState;
+}
+
+void KConfig::addConfigSources(const QStringList &files)
+{
+    Q_D(KConfig);
+    for (const QString &file : files) {
+        d->extraFiles.push(file);
+    }
+
+    if (!files.isEmpty()) {
+        reparseConfiguration();
+    }
+}
+
+QStringList KConfig::additionalConfigSources() const
+{
+    Q_D(const KConfig);
+    return d->extraFiles.toList();
+}
+
+QString KConfig::locale() const
+{
+    Q_D(const KConfig);
+    return d->locale;
+}
+
+bool KConfigPrivate::setLocale(const QString &aLocale)
+{
+    if (aLocale != locale) {
+        locale = aLocale;
+        return true;
+    }
+    return false;
+}
+
+bool KConfig::setLocale(const QString &locale)
+{
+    Q_D(KConfig);
+    if (d->setLocale(locale)) {
+        reparseConfiguration();
+        return true;
+    }
+    return false;
+}
+
+void KConfig::setReadDefaults(bool b)
+{
+    Q_D(KConfig);
+    d->bReadDefaults = b;
+}
+
+bool KConfig::readDefaults() const
+{
+    Q_D(const KConfig);
+    return d->bReadDefaults;
+}
+
+bool KConfig::isImmutable() const
+{
+    Q_D(const KConfig);
+    return d->bFileImmutable;
+}
+
+bool KConfig::isGroupImmutableImpl(const QString &aGroup) const
+{
+    Q_D(const KConfig);
+    return isImmutable() || d->entryMap.getEntryOption(aGroup, {}, {}, KEntryMap::EntryImmutable);
+}
+
+KConfigGroup KConfig::groupImpl(const QString &group)
+{
+    return KConfigGroup(this, group);
+}
+
+const KConfigGroup KConfig::groupImpl(const QString &group) const
+{
+    return KConfigGroup(this, group);
+}
+
+KEntryMap::EntryOptions convertToOptions(KConfig::WriteConfigFlags flags)
+{
+    KEntryMap::EntryOptions options = {};
+
+    if (flags & KConfig::Persistent) {
+        options |= KEntryMap::EntryDirty;
+    }
+    if (flags & KConfig::Global) {
+        options |= KEntryMap::EntryGlobal;
+    }
+    if (flags & KConfig::Localized) {
+        options |= KEntryMap::EntryLocalized;
+    }
+    if (flags.testFlag(KConfig::Notify)) {
+        options |= KEntryMap::EntryNotify;
+    }
+    return options;
+}
+
+void KConfig::deleteGroupImpl(const QString &aGroup, WriteConfigFlags flags)
+{
+    Q_D(KConfig);
+    KEntryMap::EntryOptions options = convertToOptions(flags) | KEntryMap::EntryDeleted;
+
+    const QSet<QString> groups = d->allSubGroups(aGroup);
+    for (const QString &group : groups) {
+        const QList<QByteArray> keys = d->keyListImpl(group);
+        for (const QByteArray &key : keys) {
+            if (d->canWriteEntry(group, key)) {
+                d->entryMap.setEntry(group, key, QByteArray(), options);
+                d->bDirty = true;
+            }
+        }
+    }
+}
+
+bool KConfig::isConfigWritable(bool warnUser)
+{
+    Q_D(KConfig);
+    bool allWritable = d->mBackend->isWritable();
+
+    if (warnUser && !allWritable) {
+        QString errorMsg;
+        errorMsg = d->mBackend->nonWritableErrorMessage();
+
+        // Note: We don't ask the user if we should not ask this question again because we can't save the answer.
+        errorMsg += QCoreApplication::translate("KConfig", "Please contact your system administrator.");
+        QString cmdToExec = QStandardPaths::findExecutable(QStringLiteral("kdialog"));
+        if (!cmdToExec.isEmpty()) {
+            QProcess::execute(cmdToExec, QStringList{QStringLiteral("--title"), QCoreApplication::applicationName(), QStringLiteral("--msgbox"), errorMsg});
+        }
+    }
+
+    d->configState = allWritable ? ReadWrite : ReadOnly; // update the read/write status
+
+    return allWritable;
+}
+
+bool KConfig::hasGroupImpl(const QString &aGroup) const
+{
+    Q_D(const KConfig);
+
+    // No need to look for the actual group entry anymore, or for subgroups:
+    // a group exists if it contains any non-deleted entry.
+
+    return d->hasNonDeletedEntries(aGroup);
+}
+
+bool KConfigPrivate::canWriteEntry(const QString &group, QAnyStringView key, bool isDefault) const
+{
+    if (bFileImmutable || entryMap.getEntryOption(group, key, KEntryMap::SearchLocalized, KEntryMap::EntryImmutable)) {
+        return isDefault;
+    }
+    return true;
+}
+
+void KConfigPrivate::putData(const QString &group, const char *key, const QByteArray &value, KConfigBase::WriteConfigFlags flags, bool expand)
+{
+    KEntryMap::EntryOptions options = convertToOptions(flags);
+
+    if (bForceGlobal) {
+        options |= KEntryMap::EntryGlobal;
+    }
+    if (expand) {
+        options |= KEntryMap::EntryExpansion;
+    }
+
+    if (value.isNull()) { // deleting entry
+        options |= KEntryMap::EntryDeleted;
+    }
+
+    bool dirtied = entryMap.setEntry(group, key, value, options);
+    if (dirtied && (flags & KConfigBase::Persistent)) {
+        bDirty = true;
+    }
+}
+
+void KConfigPrivate::revertEntry(const QString &group, QAnyStringView key, KConfigBase::WriteConfigFlags flags)
+{
+    KEntryMap::EntryOptions options = convertToOptions(flags);
+
+    bool dirtied = entryMap.revertEntry(group, key, options);
+    if (dirtied) {
+        bDirty = true;
+    }
+}
+
+QByteArray KConfigPrivate::lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+    return lookupInternalEntry(group, key, flags).mValue;
+}
+
+KEntry KConfigPrivate::lookupInternalEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+    if (bReadDefaults) {
+        flags |= KEntryMap::SearchDefaults;
+    }
+    const auto it = entryMap.constFindEntry(group, key, flags);
+    if (it == entryMap.cend()) {
+        return {};
+    }
+    return it->second;
+}
+
+QString KConfigPrivate::lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags, bool *expand) const
+{
+    if (bReadDefaults) {
+        flags |= KEntryMap::SearchDefaults;
+    }
+    return entryMap.getEntry(group, key, QString(), flags, expand);
+}
+
+QStandardPaths::StandardLocation KConfig::locationType() const
+{
+    Q_D(const KConfig);
+    return d->resourceType;
+}
+
+void KConfig::virtual_hook(int /*id*/, void * /*data*/)
+{
+    /* nothing */
+}
diff --git a/src/core/kconfig.h b/src/core/kconfig.h
new file mode 100644 (file)
index 0000000..25fa44f
--- /dev/null
@@ -0,0 +1,381 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_H
+#define KCONFIG_H
+
+#include "kconfigbase.h"
+
+#include <kconfigcore_export.h>
+
+#include <QByteArray>
+#include <QList>
+#include <QStandardPaths>
+#include <QString>
+#include <QVariant>
+
+class KConfigGroup;
+class KConfigPrivate;
+
+/**
+ * \class KConfig kconfig.h <KConfig>
+ *
+ * \brief The central class of the KDE configuration data system.
+ *
+ * Quickstart:
+ *
+ * Get the default application config object via KSharedConfig::openConfig().
+ *
+ * Load a specific configuration file:
+ * \code
+ * KConfig config("/etc/kderc", KConfig::SimpleConfig);
+ * \endcode
+ *
+ * Load the configuration of a specific component:
+ * \code
+ * KConfig config("pluginrc");
+ * \endcode
+ *
+ * In general it is recommended to use KSharedConfig instead of
+ * creating multiple instances of KConfig to avoid the overhead of
+ * separate objects or concerns about synchronizing writes to disk
+ * even if the configuration object is updated from multiple code paths.
+ * KSharedConfig provides a set of open methods as counterparts for the
+ * KConfig constructors.
+ *
+ * \sa KSharedConfig, KConfigGroup, <a href="https://techbase.kde.org/index.php?title=Development/Tutorials/KConfig">the techbase HOWTO on KConfig</a>.
+ */
+class KCONFIGCORE_EXPORT KConfig : public KConfigBase
+{
+public:
+    /**
+     * Determines how the system-wide and user's global settings will affect
+     * the reading of the configuration.
+     *
+     * If CascadeConfig is selected, system-wide configuration sources are used
+     * to provide defaults for the settings accessed through this object, or
+     * possibly to override those settings in certain cases.
+     *
+     * If IncludeGlobals is selected, the kdeglobals configuration is used
+     * as additional configuration sources to provide defaults. Additionally
+     * selecting CascadeConfig will result in the system-wide kdeglobals sources
+     * also getting included.
+     *
+     * Note that the main configuration source overrides the cascaded sources,
+     * which override those provided to addConfigSources(), which override the
+     * global sources.  The exception is that if a key or group is marked as
+     * being immutable, it will not be overridden.
+     *
+     * Note that all values other than IncludeGlobals and CascadeConfig are
+     * convenience definitions for the basic mode.
+     * Do @em not combine them with anything.
+     * @see OpenFlags
+     */
+    enum OpenFlag {
+        IncludeGlobals = 0x01, ///< Blend kdeglobals into the config object.
+        CascadeConfig = 0x02, ///< Cascade to system-wide config files.
+
+        SimpleConfig = 0x00, ///< Just a single config file.
+        NoCascade = IncludeGlobals, ///< Include user's globals, but omit system settings.
+        NoGlobals = CascadeConfig, ///< Cascade to system settings, but omit user's globals.
+        FullConfig = IncludeGlobals | CascadeConfig, ///< Fully-fledged config, including globals and cascading to system settings
+    };
+    /**
+     * Stores a combination of #OpenFlag values.
+     */
+    Q_DECLARE_FLAGS(OpenFlags, OpenFlag)
+
+    /**
+     * Creates a KConfig object to manipulate a configuration file for the
+     * current application.
+     *
+     * If an absolute path is specified for @p file, that file will be used
+     * as the store for the configuration settings.  If a non-absolute path
+     * is provided, the file will be looked for in the standard directory
+     * specified by type.  If no path is provided, a default
+     * configuration file will be used based on the name of the main
+     * application component.
+     *
+     * @p mode determines whether the user or global settings will be allowed
+     * to influence the values returned by this object.  See OpenFlags for
+     * more details.
+     *
+     * @note You probably want to use KSharedConfig::openConfig instead.
+     *
+     * @param file         the name of the file. If an empty string is passed in
+     *                     and SimpleConfig is passed in for the OpenFlags, then an in-memory
+     *                     KConfig object is created which will not write out to file nor which
+     *                     requires any file in the filesystem at all.
+     * @param mode         how global settings should affect the configuration
+     *                     options exposed by this KConfig object
+     * @param type         The standard directory to look for the configuration
+     *                     file in
+     *
+     * @sa KSharedConfig::openConfig(const QString&, OpenFlags, QStandardPaths::StandardLocation)
+     */
+    explicit KConfig(const QString &file = QString(),
+                     OpenFlags mode = FullConfig,
+                     QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+
+#if KCONFIGCORE_ENABLE_DEPRECATED_SINCE(6, 3)
+    /**
+     * @internal
+     *
+     * Creates a KConfig object using the specified backend. If the backend can not
+     * be found or loaded, then the standard configuration parser is used as a fallback.
+     *
+     * @param file the file to be parsed
+     * @param backend the backend to load
+     * @param type where to look for the file if an absolute path is not provided
+     *
+     * @since 4.1
+     *
+     * @deprecated since 6.3, use other constructor
+     */
+    KCONFIGCORE_DEPRECATED_VERSION(6, 3, "Use other constructor")
+    KConfig(const QString &file, const QString &backend, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+#endif
+
+    ~KConfig() override;
+
+    /**
+     * Returns the standard location enum passed to the constructor.
+     * Used by KSharedConfig.
+     * @since 5.0
+     */
+    QStandardPaths::StandardLocation locationType() const;
+
+    /**
+     * Returns the filename used to store the configuration.
+     */
+    QString name() const;
+
+    /**
+     * @return the flags this object was opened with
+     * @since 5.3
+     */
+    OpenFlags openFlags() const;
+
+    /// @reimp
+    bool sync() override;
+
+    /// Returns true if sync has any changes to write out.
+    /// @since 4.12
+    bool isDirty() const;
+
+    /// @reimp
+    void markAsClean() override;
+
+    /// @{ configuration object state
+    /// @reimp
+    AccessMode accessMode() const override;
+
+    /**
+     * Whether the configuration can be written to.
+     *
+     * If @p warnUser is true and the configuration cannot be
+     * written to (ie: this method returns @c false), a warning
+     * message box will be shown to the user telling them to
+     * contact their system administrator to get the problem fixed.
+     *
+     * The most likely cause for this method returning @c false
+     * is that the user does not have write permission for the
+     * configuration file.
+     *
+     * @param warnUser whether to show a warning message to the user
+     *                 if the configuration cannot be written to
+     *
+     * @returns true if the configuration can be written to, false
+     *          if the configuration cannot be written to
+     */
+    bool isConfigWritable(bool warnUser);
+    /// @}
+
+    /**
+     * Copies all entries from this config object to a new config
+     * object that will save itself to @p file.
+     *
+     * The configuration will not actually be saved to @p file
+     * until the returned object is destroyed, or sync() is called
+     * on it.
+     *
+     * Do not forget to delete the returned KConfig object if
+     * @p config was 0.
+     *
+     * @param file   the new config object will save itself to
+     * @param config if not 0, copy to the given KConfig object rather
+     *               than creating a new one
+     *
+     * @return @p config if it was set, otherwise a new KConfig object
+     */
+    KConfig *copyTo(const QString &file, KConfig *config = nullptr) const;
+
+    /**
+     * Ensures that the configuration file contains a certain update.
+     *
+     * If the configuration file does not contain the update @p id
+     * as contained in @p updateFile, kconf_update is run to update
+     * the configuration file.
+     *
+     * If you install config update files with critical fixes
+     * you may wish to use this method to verify that a critical
+     * update has indeed been performed to catch the case where
+     * a user restores an old config file from backup that has
+     * not been updated yet.
+     *
+     * @param id the update to check
+     * @param updateFile the file containing the update
+     */
+    void checkUpdate(const QString &id, const QString &updateFile);
+
+    /**
+     * Updates the state of this object to match the persistent storage.
+     * Note that if this object has pending changes, this method will
+     * call sync() first so as not to lose those changes.
+     */
+    void reparseConfiguration();
+
+    /// @{ extra config files
+    /**
+     * Adds the list of configuration sources to the merge stack.
+     *
+     * Currently only files are accepted as configuration sources.
+     *
+     * The first entry in @p sources is treated as the most general and will
+     * be overridden by the second entry.  The settings in the final entry
+     * in @p sources will override all the other sources provided in the list.
+     *
+     * The settings in @p sources will also be overridden by the sources
+     * provided by any previous calls to addConfigSources().
+     *
+     * The settings in the global configuration sources will be overridden by
+     * the sources provided to this method (@see IncludeGlobals).
+     * All the sources provided to any call to this method will be overridden
+     * by any files that cascade from the source provided to the constructor
+     * (@see CascadeConfig), which will in turn be
+     * overridden by the source provided to the constructor.
+     *
+     * Note that only the most specific file, ie: the file provided to the
+     * constructor, will be written to by this object.
+     *
+     * The state is automatically updated by this method, so there is no need to call
+     * reparseConfiguration().
+     *
+     * @param sources A list of extra config sources.
+     */
+    void addConfigSources(const QStringList &sources);
+
+    /**
+     * Returns a list of the additional configuration sources used in this object
+     */
+    QStringList additionalConfigSources() const;
+
+    /// @}
+    /// @{ locales
+    /**
+     * Returns the current locale.
+     */
+    QString locale() const;
+    /**
+     * Sets the locale to @p aLocale.
+     *
+     * The global locale is used by default.
+     *
+     * @note If set to the empty string, @b no locale will be matched. This effectively disables
+     * reading translated entries.
+     *
+     * @return @c true if locale was changed, @c false if the call had no
+     *         effect (eg: @p aLocale was already the current locale for this
+     *         object)
+     */
+    bool setLocale(const QString &aLocale);
+    /// @}
+
+    /// @{ defaults
+    /**
+     * When set, all readEntry calls return the system-wide (default) values
+     * instead of the user's settings.
+     *
+     * This is off by default.
+     *
+     * @param b whether to read the system-wide defaults instead of the
+     *          user's settings
+     */
+    void setReadDefaults(bool b);
+    /**
+     * @returns @c true if the system-wide defaults will be read instead of the
+     *          user's settings
+     */
+    bool readDefaults() const;
+    /// @}
+
+    /// @{ immutability
+    /// @reimp
+    bool isImmutable() const override;
+    /// @}
+
+    /// @reimp
+    QStringList groupList() const override;
+
+    /**
+     * Returns a map (tree) of entries in a particular group.
+     *
+     * The entries are all returned as strings.
+     *
+     * @param aGroup The group to get entries from.
+     *
+     * @return A map of entries in the group specified, indexed by key.
+     *         The returned map may be empty if the group is empty, or not found.
+     * @see   QMap
+     */
+    QMap<QString, QString> entryMap(const QString &aGroup = QString()) const;
+
+    /**
+     * Sets the name of the application config file.
+     * @since 5.0
+     */
+    static void setMainConfigName(const QString &str);
+
+    /**
+     * Get the name of application config file.
+     * @since 5.93
+     */
+    static QString mainConfigName();
+
+protected:
+    bool hasGroupImpl(const QString &groupName) const override;
+    KConfigGroup groupImpl(const QString &groupName) override;
+    const KConfigGroup groupImpl(const QString &groupName) const override;
+    void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags = Normal) override;
+    bool isGroupImmutableImpl(const QString &groupName) const override;
+
+    friend class KConfigGroup;
+    friend class KConfigGroupPrivate;
+    friend class KSharedConfig;
+
+    /** Virtual hook, used to add new "virtual" functions while maintaining
+     * binary compatibility. Unused in this class.
+     */
+    void virtual_hook(int id, void *data) override;
+
+    KConfigPrivate *const d_ptr;
+
+    KCONFIGCORE_NO_EXPORT explicit KConfig(KConfigPrivate &d);
+
+private:
+    friend class KConfigTest;
+
+    Q_DISABLE_COPY(KConfig)
+
+    Q_DECLARE_PRIVATE(KConfig)
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfig::OpenFlags)
+
+#endif // KCONFIG_H
diff --git a/src/core/kconfig_p.h b/src/core/kconfig_p.h
new file mode 100644 (file)
index 0000000..64fa00b
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_P_H
+#define KCONFIG_P_H
+
+#include "kconfig.h"
+#include "kconfigdata_p.h"
+#include "kconfiggroup.h"
+#include "kconfigini_p.h"
+
+#include <QDir>
+#include <QFile>
+#include <QStack>
+#include <QStringList>
+
+class KConfigPrivate
+{
+    friend class KConfig;
+
+public:
+    KConfig::OpenFlags openFlags;
+    QStandardPaths::StandardLocation resourceType;
+
+    void changeFileName(const QString &fileName);
+
+    // functions for KConfigGroup
+    bool canWriteEntry(const QString &group, QAnyStringView key, bool isDefault = false) const;
+    QString lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags, bool *expand) const;
+    QByteArray lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const;
+    KEntry lookupInternalEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const;
+
+    void putData(const QString &groupName, const char *key, const QByteArray &value, KConfigBase::WriteConfigFlags flags, bool expand = false);
+    void setEntryData(const QString &groupName, const char *key, const QByteArray &value, KEntryMap::EntryOptions flags)
+    {
+        if (entryMap.setEntry(groupName, key, value, flags)) {
+            bDirty = true;
+        }
+    }
+    void revertEntry(const QString &group, QAnyStringView key, KConfigBase::WriteConfigFlags flags);
+    /**
+     * Returns a list of keys used with entries in a particular group.
+     *
+     * This does not include keys of deleted entries or those with default values.
+     * I.e. all the keys for which there will be also entries in KConfig::entryMap().
+     *
+     * @return A sorted list of keys in the group specified.
+     *         The returned list may be empty if the group is empty, or not found.
+     */
+    QStringList usedKeyList(const QString &theGroup) const;
+    QStringList groupList(const QString &groupName) const;
+    // copies the entries from @p source to @p otherGroup changing all occurrences
+    // of @p source with @p destination
+    void copyGroup(const QString &source, const QString &destination, KConfigGroup *otherGroup, KConfigBase::WriteConfigFlags flags) const;
+    QList<QByteArray> keyListImpl(const QString &groupName) const;
+    QSet<QString> allSubGroups(const QString &parentGroupName) const;
+    bool hasNonDeletedEntries(const QString &groupName) const;
+
+    void notifyClients(const QHash<QString, QByteArrayList> &changes, const QString &path);
+
+    static QString expandString(const QString &value);
+
+protected:
+    QExplicitlySharedDataPointer<KConfigIniBackend> mBackend;
+
+    KConfigPrivate(KConfig::OpenFlags flags, QStandardPaths::StandardLocation type);
+
+    virtual ~KConfigPrivate()
+    {
+    }
+
+private:
+    bool bDirty : 1;
+    bool bReadDefaults : 1;
+    bool bFileImmutable : 1;
+    bool bForceGlobal : 1;
+    bool bSuppressGlobal : 1;
+
+    static bool mappingsRegistered;
+
+    KEntryMap entryMap;
+    QString backendType;
+    QStack<QString> extraFiles;
+
+    QString locale;
+    QString fileName;
+    QString etc_kderc;
+    KConfigBase::AccessMode configState;
+
+    bool wantGlobals() const
+    {
+        return openFlags & KConfig::IncludeGlobals && !bSuppressGlobal;
+    }
+    bool wantDefaults() const
+    {
+        return openFlags & KConfig::CascadeConfig;
+    }
+    bool isSimple() const
+    {
+        return openFlags == KConfig::SimpleConfig;
+    }
+    bool isReadOnly() const
+    {
+        return configState == KConfig::ReadOnly;
+    }
+
+    bool setLocale(const QString &aLocale);
+    QStringList getGlobalFiles() const;
+    void parseGlobalFiles();
+    void parseConfigFiles();
+    void initCustomized(KConfig *);
+    bool lockLocal();
+};
+
+#endif // KCONFIG_P_H
diff --git a/src/core/kconfigbase.cpp b/src/core/kconfigbase.cpp
new file mode 100644 (file)
index 0000000..4d027ee
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigbase.h"
+
+#include "kconfiggroup.h"
+
+#include <QString>
+
+bool KConfigBase::hasGroup(const QString &group) const
+{
+    return hasGroupImpl(group);
+}
+
+KConfigGroup KConfigBase::group(const QString &str)
+{
+    return groupImpl(str);
+}
+
+const KConfigGroup KConfigBase::group(const QString &s) const
+{
+    return groupImpl(s);
+}
+
+void KConfigBase::deleteGroup(const QString &group, WriteConfigFlags flags)
+{
+    deleteGroupImpl(group, flags);
+}
+
+bool KConfigBase::isGroupImmutable(const QString &aGroup) const
+{
+    return isGroupImmutableImpl(aGroup);
+}
+
+KConfigBase::~KConfigBase()
+{
+}
+
+KConfigBase::KConfigBase()
+{
+}
+
+void KConfigBase::virtual_hook(int, void *)
+{
+}
diff --git a/src/core/kconfigbase.h b/src/core/kconfigbase.h
new file mode 100644 (file)
index 0000000..3d2271c
--- /dev/null
@@ -0,0 +1,183 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGBASE_H
+#define KCONFIGBASE_H
+
+#include <kconfigcore_export.h>
+
+#include <QStringList>
+#include <QtGlobal>
+
+class KConfigGroup;
+class KConfigBasePrivate;
+
+/**
+ * \class KConfigBase kconfigbase.h <KConfigBase>
+ * \brief Interface to interact with configuration.
+ *
+ * KConfigBase allows a component of an application to persists its configuration
+ * without the component knowing if it is storing the configuration into a top
+ * level KConfig or a KConfigGroup inside a KConfig instance.
+ */
+class KCONFIGCORE_EXPORT KConfigBase
+{
+public:
+    /**
+     * Flags to control write entry
+     * @see WriteConfigFlags
+     */
+    enum WriteConfigFlag {
+        Persistent = 0x01,
+        /**<
+         * Save this entry when saving the config object.
+         */
+        Global = 0x02,
+        /**<
+         * Save the entry to the global %KDE config file instead of the
+         * application specific config file.
+         */
+        Localized = 0x04,
+        /**<
+         * Add the locale tag to the key when writing it.
+         */
+        Notify = 0x08 | Persistent,
+        /**<
+         * Notify remote KConfigWatchers of changes (requires DBus support)
+         * Implied persistent
+         * @since 5.51
+         */
+        Normal = Persistent,
+        /**<
+         * Save the entry to the application specific config file without
+         * a locale tag. This is the default.
+         */
+
+    };
+    /**
+     * Stores a combination of #WriteConfigFlag values.
+     */
+    Q_DECLARE_FLAGS(WriteConfigFlags, WriteConfigFlag)
+
+    /**
+     * Destructs the KConfigBase object.
+     */
+    virtual ~KConfigBase();
+
+    /**
+     * Returns a list of groups that are known about.
+     *
+     * @return The list of groups.
+     **/
+    virtual QStringList groupList() const = 0;
+
+    /**
+     * Returns true if the specified group is known about.
+     *
+     * @param group name of group to search for
+     * @return true if the group exists.
+     */
+    bool hasGroup(const QString &group) const;
+
+    /**
+     * Returns an object for the named subgroup.
+     *
+     * @param group the group to open. Pass an empty string here to the KConfig
+     *   object to obtain a handle on the root group.
+     * @return config group object for the given group name.
+     */
+    KConfigGroup group(const QString &group);
+
+    /**
+     * Const overload for group(const QString&)
+     */
+    const KConfigGroup group(const QString &group) const;
+
+    /**
+     * Delete @p group.
+     * This marks @p group as @em deleted in the config object. This effectively
+     * removes any cascaded values from config files earlier in the stack.
+     */
+    void deleteGroup(const QString &group, WriteConfigFlags flags = Normal);
+
+    /**
+     * Syncs the configuration object that this group belongs to.
+     * Unrelated concurrent changes to the same file are merged and thus
+     * not overwritten. Note however, that this object is @em not automatically
+     * updated with those changes.
+     */
+    virtual bool sync() = 0;
+
+    /**
+     * Reset the dirty flags of all entries in the entry map, so the
+     * values will not be written to disk on a later call to sync().
+     */
+    virtual void markAsClean() = 0;
+
+    /**
+     * Possible return values for accessMode().
+     */
+    enum AccessMode {
+        NoAccess,
+        ReadOnly,
+        ReadWrite,
+    };
+
+    /**
+     * Returns the access mode of the app-config object.
+     *
+     * Possible return values
+     * are NoAccess (the application-specific config file could not be
+     * opened neither read-write nor read-only), ReadOnly (the
+     * application-specific config file is opened read-only, but not
+     * read-write) and ReadWrite (the application-specific config
+     * file is opened read-write).
+     *
+     * @return the access mode of the app-config object
+     */
+    virtual AccessMode accessMode() const = 0;
+
+    /**
+     * Checks whether this configuration object can be modified.
+     * @return whether changes may be made to this configuration object.
+     */
+    virtual bool isImmutable() const = 0;
+
+    /**
+     * Can changes be made to the entries in @p group?
+     *
+     * @param group The group to check for immutability.
+     * @return @c false if the entries in @p group can be modified, otherwise @c true
+     */
+    bool isGroupImmutable(const QString &group) const;
+
+protected:
+    KConfigBase();
+
+    /// @param groupName name of group
+    virtual bool hasGroupImpl(const QString &groupName) const = 0;
+    /// @param groupName name of group
+    virtual KConfigGroup groupImpl(const QString &groupName) = 0;
+    /// @param groupName name of group
+    virtual const KConfigGroup groupImpl(const QString &groupName) const = 0;
+    /// @param groupName name of group
+    virtual void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags = Normal) = 0;
+    /// @param groupName name of group
+    virtual bool isGroupImmutableImpl(const QString &groupName) const = 0;
+
+    /** Virtual hook, used to add new "virtual" functions while maintaining
+     * binary compatibility. Unused in this class.
+     */
+    virtual void virtual_hook(int id, void *data);
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigBase::WriteConfigFlags)
+
+#endif // KCONFIG_H
diff --git a/src/core/kconfigbase_p.h b/src/core/kconfigbase_p.h
new file mode 100644 (file)
index 0000000..97ee1df
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGBASE_P_H
+#define KCONFIGBASE_P_H
+
+#include <QSharedData>
+
+class KConfigBasePrivate : public QSharedData
+{
+};
+#endif
diff --git a/src/core/kconfigconversioncheck_p.h b/src/core/kconfigconversioncheck_p.h
new file mode 100644 (file)
index 0000000..5d07ea4
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006 Thomas Braxton <brax108@cox.net>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_CONVERSION_CHECK_P_H
+#define KCONFIG_CONVERSION_CHECK_P_H
+
+#include <QDate>
+#include <QPoint>
+#include <QRect>
+#include <QSize>
+#include <QString>
+#include <QUuid>
+#include <QVariant>
+
+class QColor;
+class QFont;
+
+namespace KConfigConversionCheck
+{
+// used to distinguish between supported/unsupported types
+struct supported {
+};
+struct unsupported {
+};
+
+// traits type class to define support for constraints
+template<typename T>
+struct QVconvertible {
+    typedef unsupported toQString;
+    typedef unsupported toQVariant;
+};
+
+// constraint classes
+template<typename T>
+struct type_toQString {
+    void constraint()
+    {
+        supported x = y;
+        Q_UNUSED(x);
+    }
+    typename QVconvertible<T>::toQString y;
+};
+
+template<typename T>
+struct type_toQVariant {
+    void constraint()
+    {
+        supported x = y;
+        Q_UNUSED(x);
+    }
+    typename QVconvertible<T>::toQVariant y;
+};
+
+// check if T is convertible to QString thru QVariant
+// if not supported can't be used in QList<T> functions
+template<typename T>
+inline void to_QString()
+{
+    void (type_toQString<T>::*x)() = &type_toQString<T>::constraint;
+    Q_UNUSED(x);
+}
+
+// check if T is convertible to QVariant & supported in readEntry/writeEntry
+template<typename T>
+inline void to_QVariant()
+{
+    void (type_toQVariant<T>::*x)() = &type_toQVariant<T>::constraint;
+    Q_UNUSED(x);
+}
+
+// define for all types handled in readEntry/writeEntry
+// string_support - is supported by QVariant(type).toString(),
+//                  can be used in QList<T> functions
+// variant_support - has a QVariant constructor
+#define QVConversions(type, string_support, variant_support)                                                                                                   \
+    template<>                                                                                                                                                 \
+    struct QVconvertible<type> {                                                                                                                               \
+        typedef string_support toQString;                                                                                                                      \
+        typedef variant_support toQVariant;                                                                                                                    \
+    }
+
+// The only types needed here are the types handled in readEntry/writeEntry
+// the default QVconvertible will take care of the rest.
+QVConversions(bool, supported, supported);
+QVConversions(int, supported, supported);
+QVConversions(unsigned int, supported, supported);
+QVConversions(long long, supported, supported);
+QVConversions(unsigned long long, supported, supported);
+QVConversions(float, supported, supported);
+QVConversions(double, supported, supported);
+QVConversions(QString, supported, supported);
+QVConversions(QColor, unsupported, supported);
+QVConversions(QFont, supported, supported);
+QVConversions(QDateTime, unsupported, supported);
+QVConversions(QDate, unsupported, supported);
+QVConversions(QSize, unsupported, supported);
+QVConversions(QRect, unsupported, supported);
+QVConversions(QPoint, unsupported, supported);
+QVConversions(QSizeF, unsupported, supported);
+QVConversions(QRectF, unsupported, supported);
+QVConversions(QPointF, unsupported, supported);
+QVConversions(QByteArray, supported, supported);
+QVConversions(QStringList, unsupported, supported);
+QVConversions(QVariantList, unsupported, supported);
+QVConversions(QUrl, supported, supported);
+QVConversions(QList<QUrl>, unsupported, supported);
+QVConversions(QUuid, supported, supported);
+}
+
+#endif
diff --git a/src/core/kconfigdata.cpp b/src/core/kconfigdata.cpp
new file mode 100644 (file)
index 0000000..2478ac9
--- /dev/null
@@ -0,0 +1,337 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999-2000 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1996-2000 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigdata_p.h"
+
+QDebug operator<<(QDebug dbg, const KEntryKey &key)
+{
+    dbg.nospace() << "[" << key.mGroup << ", " << key.mKey << (key.bLocal ? " localized" : "") << (key.bDefault ? " default" : "") << (key.bRaw ? " raw" : "")
+                  << "]";
+    return dbg.space();
+}
+
+QDebug operator<<(QDebug dbg, const KEntry &entry)
+{
+    dbg.nospace() << "[" << entry.mValue << (entry.bDirty ? " dirty" : "") << (entry.bGlobal ? " global" : "")
+                  << (entry.bOverridesGlobal ? " overrides global" : "") << (entry.bImmutable ? " immutable" : "") << (entry.bDeleted ? " deleted" : "")
+                  << (entry.bReverted ? " reverted" : "") << (entry.bExpand ? " expand" : "") << "]";
+
+    return dbg.space();
+}
+
+KEntryMapIterator KEntryMap::findExactEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags)
+{
+    const KEntryKeyView theKey(group, key, bool(flags & SearchLocalized), bool(flags & SearchDefaults));
+    return find(theKey);
+}
+
+KEntryMapIterator KEntryMap::findEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags)
+{
+    KEntryKeyView theKey(group, key, false, bool(flags & SearchDefaults));
+
+    // try the localized key first
+    if (flags & SearchLocalized) {
+        theKey.bLocal = true;
+
+        iterator it = find(theKey);
+        if (it != end()) {
+            return it;
+        }
+
+        theKey.bLocal = false;
+    }
+    return find(theKey);
+}
+
+KEntryMapConstIterator KEntryMap::constFindEntry(const QString &group, QAnyStringView key, SearchFlags flags) const
+{
+    KEntryKeyView theKey(group, key, false, bool(flags & SearchDefaults));
+
+    // try the localized key first
+    if (flags & SearchLocalized) {
+        theKey.bLocal = true;
+
+        auto it = find(theKey);
+        if (it != cend()) {
+            return it;
+        }
+
+        theKey.bLocal = false;
+    }
+
+    return find(theKey);
+}
+
+bool KEntryMap::setEntry(const QString &group, const QByteArray &key, const QByteArray &value, KEntryMap::EntryOptions options)
+{
+    KEntryKey k;
+    KEntry e;
+    bool newKey = false;
+
+    const iterator it = findExactEntry(group, key, SearchFlags(options >> 16));
+
+    if (key.isEmpty()) { // inserting a group marker
+        k.mGroup = group;
+        e.bImmutable = (options & EntryImmutable);
+        if (options & EntryDeleted) {
+            qWarning("Internal KConfig error: cannot mark groups as deleted");
+        }
+        if (it == end()) {
+            insert_or_assign(k, e);
+            return true;
+        } else if (it->second == e) {
+            return false;
+        }
+
+        it->second = e;
+        return true;
+    }
+
+    if (it != end()) {
+        if (it->second.bImmutable) {
+            return false; // we cannot change this entry. Inherits group immutability.
+        }
+        k = it->first;
+        e = it->second;
+        // qDebug() << "found existing entry for key" << k;
+        // If overridden entry is global and not default. And it's overridden by a non global
+        if (e.bGlobal && !(options & EntryGlobal) && !k.bDefault) {
+            e.bOverridesGlobal = true;
+        }
+    } else {
+        // make sure the group marker is in the map
+        KEntryMap const *that = this;
+        auto cit = that->constFindEntry(group);
+        if (cit == cend()) {
+            insert_or_assign(KEntryKey(group), KEntry());
+        } else if (cit->second.bImmutable) {
+            return false; // this group is immutable, so we cannot change this entry.
+        }
+
+        k = KEntryKey(group, key);
+        newKey = true;
+    }
+
+    // set these here, since we may be changing the type of key from the one we found
+    k.bLocal = (options & EntryLocalized);
+    k.bDefault = (options & EntryDefault);
+    k.bRaw = (options & EntryRawKey);
+
+    e.mValue = value;
+    e.bDirty = e.bDirty || (options & EntryDirty);
+    e.bNotify = e.bNotify || (options & EntryNotify);
+
+    e.bGlobal = (options & EntryGlobal); // we can't use || here, because changes to entries in
+    // kdeglobals would be written to kdeglobals instead
+    // of the local config file, regardless of the globals flag
+    e.bImmutable = e.bImmutable || (options & EntryImmutable);
+    if (value.isNull()) {
+        e.bDeleted = e.bDeleted || (options & EntryDeleted);
+    } else {
+        e.bDeleted = false; // setting a value to a previously deleted entry
+    }
+    e.bExpand = (options & EntryExpansion);
+    e.bReverted = false;
+    if (options & EntryLocalized) {
+        e.bLocalizedCountry = (options & EntryLocalizedCountry);
+    } else {
+        e.bLocalizedCountry = false;
+    }
+
+    if (newKey) {
+        // qDebug() << "inserting" << k << "=" << value;
+        insert_or_assign(k, e);
+        if (k.bDefault) {
+            k.bDefault = false;
+            // qDebug() << "also inserting" << k << "=" << value;
+            insert_or_assign(k, e);
+        }
+        // TODO check for presence of unlocalized key
+        return true;
+    }
+
+    // KEntry e2 = it->second;
+    if (options & EntryLocalized) {
+        // fast exit checks for cases where the existing entry is more specific
+        const KEntry &e2 = it->second;
+        if (e2.bLocalizedCountry && !e.bLocalizedCountry) {
+            // lang_COUNTRY > lang
+            return false;
+        }
+    }
+
+    if (it->second != e) {
+        // qDebug() << "changing" << k << "from" << it->second.mValue << "to" << value << e;
+        it->second = e;
+        if (k.bDefault) {
+            KEntryKey nonDefaultKey(k);
+            nonDefaultKey.bDefault = false;
+            insert_or_assign(nonDefaultKey, e);
+        }
+        if (!(options & EntryLocalized)) {
+            KEntryKey theKey(group, key, true, false);
+            // qDebug() << "non-localized entry, remove localized one:" << theKey;
+            erase(theKey);
+            if (k.bDefault) {
+                theKey.bDefault = true;
+                erase(theKey);
+            }
+        }
+        return true;
+    }
+
+    // qDebug() << k << "was already set to" << e.mValue;
+    if (!(options & EntryLocalized)) {
+        // qDebug() << "unchanged non-localized entry, remove localized one.";
+        KEntryKey theKey(group, key, true, false);
+        bool ret = false;
+        iterator cit = find(theKey);
+        if (cit != end()) {
+            erase(cit);
+            ret = true;
+        }
+        if (k.bDefault) {
+            theKey.bDefault = true;
+            iterator cit = find(theKey);
+            if (cit != end()) {
+                erase(cit);
+                return true;
+            }
+        }
+        return ret;
+    }
+
+    // qDebug() << "localized entry, unchanged, return false";
+    // When we are writing a default, we know that the non-
+    // default is the same as the default, so we can simply
+    // use the same branch.
+    return false;
+}
+
+QString KEntryMap::getEntry(const QString &group, QAnyStringView key, const QString &defaultValue, KEntryMap::SearchFlags flags, bool *expand) const
+{
+    const auto it = constFindEntry(group, key, flags);
+    QString theValue = defaultValue;
+
+    if (it != cend() && !it->second.bDeleted) {
+        if (!it->second.mValue.isNull()) {
+            const QByteArray data = it->second.mValue;
+            theValue = QString::fromUtf8(data.constData(), data.length());
+            if (expand) {
+                *expand = it->second.bExpand;
+            }
+        }
+    }
+
+    return theValue;
+}
+
+bool KEntryMap::hasEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+    const auto it = constFindEntry(group, key, flags);
+    if (it == cend()) {
+        return false;
+    }
+    if (it->second.bDeleted) {
+        return false;
+    }
+    if (key.isNull()) { // looking for group marker
+        return it->second.mValue.isNull();
+    }
+    // if it->bReverted, we'll just return true; the real answer depends on lookup up with SearchDefaults, though.
+    return true;
+}
+
+bool KEntryMap::getEntryOption(const KEntryMapConstIterator &it, KEntryMap::EntryOption option) const
+{
+    if (it == cend()) {
+        return false;
+    }
+
+    switch (option) {
+    case EntryDirty:
+        return it->second.bDirty;
+    case EntryLocalized:
+        return it->first.bLocal;
+    case EntryGlobal:
+        return it->second.bGlobal;
+    case EntryImmutable:
+        return it->second.bImmutable;
+    case EntryDeleted:
+        return it->second.bDeleted;
+    case EntryExpansion:
+        return it->second.bExpand;
+    case EntryNotify:
+        return it->second.bNotify;
+    default:
+        return false;
+    }
+}
+
+void KEntryMap::setEntryOption(KEntryMapIterator it, KEntryMap::EntryOption option, bool bf)
+{
+    if (it == end()) {
+        return;
+    }
+
+    switch (option) {
+    case EntryDirty:
+        it->second.bDirty = bf;
+        return;
+    case EntryGlobal:
+        it->second.bGlobal = bf;
+        return;
+    case EntryImmutable:
+        it->second.bImmutable = bf;
+        return;
+    case EntryDeleted:
+        it->second.bDeleted = bf;
+        return;
+    case EntryExpansion:
+        it->second.bExpand = bf;
+        return;
+    case EntryNotify:
+        it->second.bNotify = bf;
+        return;
+    default:
+        return; // fall through
+    }
+}
+
+bool KEntryMap::revertEntry(const QString &group, QAnyStringView key, KEntryMap::EntryOptions options, KEntryMap::SearchFlags flags)
+{
+    Q_ASSERT((flags & KEntryMap::SearchDefaults) == 0);
+    iterator entry = findEntry(group, key, flags);
+    if (entry == end()) {
+        return false;
+    }
+
+    // qDebug() << "reverting" << entry->first << " = " << entry->mValue;
+    if (entry->second.bReverted) { // already done before
+        return false;
+    }
+
+    KEntryKey defaultKey(entry->first);
+    defaultKey.bDefault = true;
+    // qDebug() << "looking up default entry with key=" << defaultKey;
+    const auto defaultEntry = find(defaultKey);
+    if (defaultEntry != cend()) {
+        Q_ASSERT(defaultEntry->first.bDefault);
+        // qDebug() << "found, update entry";
+        entry->second = defaultEntry->second; // copy default value, for subsequent lookups
+    } else {
+        entry->second.mValue = QByteArray();
+    }
+    entry->second.bNotify = entry->second.bNotify || (options & EntryNotify);
+    entry->second.bDirty = true;
+    entry->second.bReverted = true; // skip it when writing out to disk
+
+    // qDebug() << "Here's what we have now:" << *this;
+    return true;
+}
diff --git a/src/core/kconfigdata_p.h b/src/core/kconfigdata_p.h
new file mode 100644 (file)
index 0000000..8f52bdb
--- /dev/null
@@ -0,0 +1,386 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999-2000 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1996-2000 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGDATA_P_H
+#define KCONFIGDATA_P_H
+
+#include <QByteArray>
+#include <QDebug>
+#include <QString>
+#include <map>
+
+/**
+ * map/dict/list config node entry.
+ * @internal
+ */
+struct KEntry {
+    /** Constructor. @internal */
+    KEntry()
+        : mValue()
+        , bDirty(false)
+        , bGlobal(false)
+        , bImmutable(false)
+        , bDeleted(false)
+        , bExpand(false)
+        , bReverted(false)
+        , bLocalizedCountry(false)
+        , bNotify(false)
+        , bOverridesGlobal(false)
+    {
+    }
+    /** @internal */
+    QByteArray mValue;
+    /**
+     * Must the entry be written back to disk?
+     */
+    bool bDirty : 1;
+    /**
+     * Entry should be written to the global config file
+     */
+    bool bGlobal : 1;
+    /**
+     * Entry can not be modified.
+     */
+    bool bImmutable : 1;
+    /**
+     * Entry has been deleted.
+     */
+    bool bDeleted : 1;
+    /**
+     * Whether to apply dollar expansion or not.
+     */
+    bool bExpand : 1;
+    /**
+     * Entry has been reverted to its default value (from a more global file).
+     */
+    bool bReverted : 1;
+    /**
+     * Entry is for a localized key. If @c false the value references just language e.g. "de",
+     * if @c true the value references language and country, e.g. "de_DE".
+     **/
+    bool bLocalizedCountry : 1;
+
+    bool bNotify : 1;
+
+    /**
+     * Entry will need to be written on a non global file even if it matches default value
+     */
+    bool bOverridesGlobal : 1;
+};
+
+Q_DECLARE_TYPEINFO(KEntry, Q_RELOCATABLE_TYPE);
+
+// These operators are used to check whether an entry which is about
+// to be written equals the previous value. As such, this intentionally
+// omits the dirty/notify flag from the comparison.
+inline bool operator==(const KEntry &k1, const KEntry &k2)
+{
+    /* clang-format off */
+    return k1.bGlobal == k2.bGlobal
+        && k1.bImmutable == k2.bImmutable
+        && k1.bDeleted == k2.bDeleted
+        && k1.bExpand == k2.bExpand
+        && k1.mValue == k2.mValue;
+    /* clang-format on */
+}
+
+inline bool operator!=(const KEntry &k1, const KEntry &k2)
+{
+    return !(k1 == k2);
+}
+
+/**
+ * key structure holding both the actual key and the group
+ * to which it belongs.
+ * @internal
+ */
+struct KEntryKey {
+    /** Constructor. @internal */
+    KEntryKey(const QString &_group = QString(), const QByteArray &_key = QByteArray(), bool isLocalized = false, bool isDefault = false)
+        : mGroup(_group)
+        , mKey(_key)
+        , bLocal(isLocalized)
+        , bDefault(isDefault)
+        , bRaw(false)
+    {
+    }
+    /**
+     * The "group" to which this EntryKey belongs
+     */
+    QString mGroup;
+    /**
+     * The _actual_ key of the entry in question
+     */
+    QByteArray mKey;
+    /**
+     * Entry is localised or not
+     */
+    bool bLocal : 1;
+    /**
+     * Entry indicates if this is a default value.
+     */
+    bool bDefault : 1;
+    /** @internal
+     * Key is a raw unprocessed key.
+     * @warning this should only be set during merging, never for normal use.
+     */
+    bool bRaw : 1;
+};
+
+Q_DECLARE_TYPEINFO(KEntryKey, Q_RELOCATABLE_TYPE);
+
+/**
+ * Compares two KEntryKeys (needed for std::map). The order is localized, localized-default,
+ * non-localized, non-localized-default
+ * @internal
+ */
+inline bool operator<(const KEntryKey &k1, const KEntryKey &k2)
+{
+    int result = k1.mGroup.compare(k2.mGroup);
+    if (result != 0) {
+        return result < 0;
+    }
+
+    result = k1.mKey.compare(k2.mKey);
+    if (result != 0) {
+        return result < 0;
+    }
+
+    if (k1.bLocal != k2.bLocal) {
+        return k1.bLocal;
+    }
+    return (!k1.bDefault && k2.bDefault);
+}
+
+/**
+ * Light-weight view variant of KEntryKey.
+ * Used for look-up in the map.
+ * @internal
+ */
+struct KEntryKeyView {
+    /** Constructor. @internal */
+    KEntryKeyView(QStringView _group, QAnyStringView _key, bool isLocalized = false, bool isDefault = false)
+        : mGroup(_group)
+        , mKey(_key)
+        , bLocal(isLocalized)
+        , bDefault(isDefault)
+    {
+    }
+    /**
+     * The "group" to which this EntryKey belongs
+     */
+    const QStringView mGroup;
+    /**
+     * The _actual_ key of the entry in question
+     */
+    const QAnyStringView mKey;
+    /**
+     * Entry is localised or not
+     */
+    bool bLocal : 1;
+    /**
+     * Entry indicates if this is a default value.
+     */
+    bool bDefault : 1;
+};
+
+template<typename TEntryKey1, typename TEntryKey2>
+bool compareEntryKeyViews(const TEntryKey1 &k1, const TEntryKey2 &k2)
+{
+    int result = k1.mGroup.compare(k2.mGroup);
+    if (result != 0) {
+        return result < 0;
+    }
+
+    result = QAnyStringView::compare(k1.mKey, k2.mKey);
+    if (result != 0) {
+        return result < 0;
+    }
+
+    if (k1.bLocal != k2.bLocal) {
+        return k1.bLocal;
+    }
+    return (!k1.bDefault && k2.bDefault);
+}
+
+inline bool operator<(const KEntryKeyView &k1, const KEntryKey &k2)
+{
+    return compareEntryKeyViews(k1, k2);
+}
+
+inline bool operator<(const KEntryKey &k1, const KEntryKeyView &k2)
+{
+    return compareEntryKeyViews(k1, k2);
+}
+
+/**
+ * Struct to use as Compare type with std::map.
+ * To enable usage of KEntryKeyView for look-up in the map
+ * via the template find() overloads.
+ * @internal
+ */
+struct KEntryKeyCompare {
+    using is_transparent = void;
+
+    bool operator()(const KEntryKey &k1, const KEntryKey &k2) const
+    {
+        return (k1 < k2);
+    }
+
+    bool operator()(const KEntryKeyView &k1, const KEntryKey &k2) const
+    {
+        return (k1 < k2);
+    }
+
+    bool operator()(const KEntryKey &k1, const KEntryKeyView &k2) const
+    {
+        return (k1 < k2);
+    }
+};
+
+/**
+ * Returns the minimum key that has @a mGroup == @p group.
+ *
+ * @note The returned "minimum key" is consistent with KEntryKey's operator<().
+ *       The return value of this function can be passed to KEntryMap::lowerBound().
+ */
+inline KEntryKeyView minimumGroupKeyView(const QString &group)
+{
+    return KEntryKeyView(group, QAnyStringView{}, true, false);
+}
+
+QDebug operator<<(QDebug dbg, const KEntryKey &key);
+QDebug operator<<(QDebug dbg, const KEntry &entry);
+
+/**
+ * \relates KEntry
+ * type specifying a map of entries (key,value pairs).
+ * The keys are actually a key in a particular config file group together
+ * with the group name.
+ * @internal
+ */
+class KEntryMap : public std::map<KEntryKey, KEntry, KEntryKeyCompare>
+{
+public:
+    enum SearchFlag {
+        SearchDefaults = 1,
+        SearchLocalized = 2,
+    };
+    Q_DECLARE_FLAGS(SearchFlags, SearchFlag)
+
+    enum EntryOption {
+        EntryDirty = 1,
+        EntryGlobal = 2,
+        EntryImmutable = 4,
+        EntryDeleted = 8,
+        EntryExpansion = 16,
+        EntryRawKey = 32,
+        EntryLocalizedCountry = 64,
+        EntryNotify = 128,
+        EntryDefault = (SearchDefaults << 16),
+        EntryLocalized = (SearchLocalized << 16),
+    };
+    Q_DECLARE_FLAGS(EntryOptions, EntryOption)
+
+    iterator findExactEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags());
+
+    iterator findEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags());
+
+    const_iterator findEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const
+    {
+        return constFindEntry(group, key, flags);
+    }
+
+    const_iterator constFindEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const;
+
+    /**
+     * Returns true if the entry gets dirtied or false in other case
+     */
+    bool setEntry(const QString &group, const QByteArray &key, const QByteArray &value, EntryOptions options);
+
+    void setEntry(const QString &group, const QByteArray &key, const QString &value, EntryOptions options)
+    {
+        setEntry(group, key, value.toUtf8(), options);
+    }
+
+    QString getEntry(const QString &group,
+                     QAnyStringView key,
+                     const QString &defaultValue = QString(),
+                     SearchFlags flags = SearchFlags(),
+                     bool *expand = nullptr) const;
+
+    bool hasEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const;
+
+    bool getEntryOption(const const_iterator &it, EntryOption option) const;
+    bool getEntryOption(const QString &group, QAnyStringView key, SearchFlags flags, EntryOption option) const
+    {
+        return getEntryOption(findEntry(group, key, flags), option);
+    }
+
+    void setEntryOption(iterator it, EntryOption option, bool bf);
+    void setEntryOption(const QString &group, QAnyStringView key, SearchFlags flags, EntryOption option, bool bf)
+    {
+        setEntryOption(findEntry(group, key, flags), option, bf);
+    }
+
+    bool revertEntry(const QString &group, QAnyStringView key, EntryOptions options, SearchFlags flags = SearchFlags());
+
+    template<typename ConstIteratorUser>
+    void forEachEntryWhoseGroupStartsWith(const QString &groupPrefix, ConstIteratorUser callback) const
+    {
+        for (auto it = lower_bound(minimumGroupKeyView(groupPrefix)), end = cend(); it != end && it->first.mGroup.startsWith(groupPrefix); ++it) {
+            callback(it);
+        }
+    }
+
+    template<typename ConstIteratorPredicate>
+    bool anyEntryWhoseGroupStartsWith(const QString &groupPrefix, ConstIteratorPredicate predicate) const
+    {
+        for (auto it = lower_bound(minimumGroupKeyView(groupPrefix)), end = cend(); it != end && it->first.mGroup.startsWith(groupPrefix); ++it) {
+            if (predicate(it)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    template<typename ConstIteratorUser>
+    void forEachEntryOfGroup(const QString &theGroup, ConstIteratorUser callback) const
+    {
+        const auto theEnd = cend();
+        auto it = constFindEntry(theGroup);
+        if (it != theEnd) {
+            ++it; // advance past the special group entry marker
+
+            for (; (it != theEnd) && (it->first.mGroup == theGroup); ++it) {
+                callback(it);
+            }
+        }
+    }
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::SearchFlags)
+Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::EntryOptions)
+
+/**
+ * \relates KEntry
+ * type for iterating over keys in a KEntryMap in sorted order.
+ * @internal
+ */
+typedef KEntryMap::iterator KEntryMapIterator;
+
+/**
+ * \relates KEntry
+ * type for iterating over keys in a KEntryMap in sorted order.
+ * It is const, thus you cannot change the entries in the iterator,
+ * only examine them.
+ * @internal
+ */
+typedef KEntryMap::const_iterator KEntryMapConstIterator;
+
+#endif
diff --git a/src/core/kconfiggroup.cpp b/src/core/kconfiggroup.cpp
new file mode 100644 (file)
index 0000000..76767f8
--- /dev/null
@@ -0,0 +1,1266 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfiggroup.h"
+#include "kconfiggroup_p.h"
+
+#include "kconfig.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfigdata_p.h"
+#include "ksharedconfig.h"
+
+#include <QDate>
+#include <QDir>
+#include <QFile>
+#include <QPoint>
+#include <QRect>
+#include <QSharedData>
+#include <QString>
+#include <QTextStream>
+#include <QUrl>
+#include <QUuid>
+
+#include <algorithm>
+#include <array>
+#include <math.h>
+#include <stdlib.h>
+
+class KConfigGroupPrivate : public QSharedData
+{
+public:
+    KConfigGroupPrivate(KConfig *owner, bool isImmutable, bool isConst, const QString &name)
+        : mOwner(owner)
+        , mName(name)
+        , bImmutable(isImmutable)
+        , bConst(isConst)
+    {
+        if (Q_UNLIKELY(!mOwner->name().isEmpty() && mOwner->accessMode() == KConfigBase::NoAccess)) {
+            qCWarning(KCONFIG_CORE_LOG) << "Created a KConfigGroup on an inaccessible config location" << mOwner->name() << name;
+        }
+    }
+
+    KConfigGroupPrivate(const KSharedConfigPtr &owner, const QString &name)
+        : sOwner(owner)
+        , mOwner(sOwner.data())
+        , mName(name)
+        , bImmutable(name.isEmpty() ? owner->isImmutable() : owner->isGroupImmutable(name))
+        , bConst(false)
+    {
+        if (Q_UNLIKELY(!mOwner->name().isEmpty() && mOwner->accessMode() == KConfigBase::NoAccess)) {
+            qCWarning(KCONFIG_CORE_LOG) << "Created a KConfigGroup on an inaccessible config location" << mOwner->name() << name;
+        }
+    }
+
+    KConfigGroupPrivate(KConfigGroup *parent, bool isImmutable, bool isConst, const QString &name)
+        : sOwner(parent->d->sOwner)
+        , mOwner(parent->d->mOwner)
+        , mName(name)
+        , bImmutable(isImmutable)
+        , bConst(isConst)
+    {
+        if (!parent->d->mName.isEmpty()) {
+            mParent = parent->d;
+        }
+    }
+
+    KConfigGroupPrivate(const KConfigGroupPrivate *other, bool isImmutable, const QString &name)
+        : sOwner(other->sOwner)
+        , mOwner(other->mOwner)
+        , mName(name)
+        , bImmutable(isImmutable)
+        , bConst(other->bConst)
+    {
+        if (!other->mName.isEmpty()) {
+            mParent = const_cast<KConfigGroupPrivate *>(other);
+        }
+    }
+
+    KSharedConfig::Ptr sOwner;
+    KConfig *mOwner;
+    QExplicitlySharedDataPointer<KConfigGroupPrivate> mParent;
+    QString mName;
+
+    /* bitfield */
+    const bool bImmutable : 1; // is this group immutable?
+    const bool bConst : 1; // is this group read-only?
+
+    QString fullName() const
+    {
+        if (!mParent) {
+            return name();
+        }
+        return mParent->fullName(mName);
+    }
+
+    QString name() const
+    {
+        if (mName.isEmpty()) {
+            return QStringLiteral("<default>");
+        }
+        return mName;
+    }
+
+    QString fullName(const QString &aGroup) const
+    {
+        if (mName.isEmpty()) {
+            return aGroup;
+        }
+        return fullName() + QLatin1Char('\x1d') + aGroup;
+    }
+
+    static QExplicitlySharedDataPointer<KConfigGroupPrivate> create(KConfigBase *master, const QString &name, bool isImmutable, bool isConst)
+    {
+        QExplicitlySharedDataPointer<KConfigGroupPrivate> data;
+        if (dynamic_cast<KConfigGroup *>(master)) {
+            data = new KConfigGroupPrivate(static_cast<KConfigGroup *>(master), isImmutable, isConst, name);
+        } else {
+            data = new KConfigGroupPrivate(dynamic_cast<KConfig *>(master), isImmutable, isConst, name);
+        }
+        return data;
+    }
+
+    static QByteArray serializeList(const QList<QByteArray> &list);
+    static QStringList deserializeList(const QString &data);
+};
+
+QByteArray KConfigGroupPrivate::serializeList(const QList<QByteArray> &list)
+{
+    QByteArray value;
+
+    if (!list.isEmpty()) {
+        auto it = list.cbegin();
+        const auto end = list.cend();
+
+        value = QByteArray(*it).replace('\\', QByteArrayLiteral("\\\\")).replace(',', QByteArrayLiteral("\\,"));
+
+        while (++it != end) {
+            // In the loop, so it is not done when there is only one element.
+            // Doing it repeatedly is a pretty cheap operation.
+            value.reserve(4096);
+
+            value += ',';
+            value += QByteArray(*it).replace('\\', QByteArrayLiteral("\\\\")).replace(',', QByteArrayLiteral("\\,"));
+        }
+
+        // To be able to distinguish an empty list from a list with one empty element.
+        if (value.isEmpty()) {
+            value = QByteArrayLiteral("\\0");
+        }
+    }
+
+    return value;
+}
+
+QStringList KConfigGroupPrivate::deserializeList(const QString &data)
+{
+    if (data.isEmpty()) {
+        return QStringList();
+    }
+    if (data == QLatin1String("\\0")) {
+        return QStringList(QString());
+    }
+    QStringList value;
+    QString val;
+    val.reserve(data.size());
+    bool quoted = false;
+    for (int p = 0; p < data.length(); p++) {
+        if (quoted) {
+            val += data[p];
+            quoted = false;
+        } else if (data[p].unicode() == '\\') {
+            quoted = true;
+        } else if (data[p].unicode() == ',') {
+            val.squeeze(); // release any unused memory
+            value.append(val);
+            val.clear();
+            val.reserve(data.size() - p);
+        } else {
+            val += data[p];
+        }
+    }
+    value.append(val);
+    return value;
+}
+
+static QVarLengthArray<int, 8> asIntList(QByteArrayView string)
+{
+    int start = 0;
+    int next = start;
+    QVarLengthArray<int, 8> ret;
+    while ((next = string.indexOf(',', start)) != -1) {
+        ret.push_back(string.sliced(start, next - start).toInt());
+        start = next + 1;
+    }
+    ret.push_back(string.sliced(start, string.size() - start).toInt());
+    return ret;
+}
+
+static QVarLengthArray<qreal, 8> asRealList(QByteArrayView string)
+{
+    int start = 0;
+    int next = start;
+    QVarLengthArray<qreal, 8> ret;
+    while ((next = string.indexOf(',', start)) != -1) {
+        ret.push_back(string.sliced(start, next - start).toDouble());
+        start = next + 1;
+    }
+    ret.push_back(string.sliced(start, string.size() - start).toDouble());
+    return ret;
+}
+
+static QString errString(const char *pKey, const QByteArray &value, const QVariant &aDefault)
+{
+    return QStringLiteral("\"%1\" - conversion of \"%3\" to %2 failed")
+        .arg(QString::fromLatin1(pKey), QString::fromLatin1(aDefault.typeName()), QString::fromLatin1(value));
+}
+
+static QString formatError(int expected, int got)
+{
+    return QStringLiteral(" (wrong format: expected %1 items, got %2)").arg(expected).arg(got);
+}
+
+QVariant KConfigGroup::convertToQVariant(const char *pKey, const QByteArray &value, const QVariant &aDefault)
+{
+    // if a type handler is added here you must add a QVConversions definition
+    // to kconfigconversioncheck_p.h, or KConfigConversionCheck::to_QVariant will not allow
+    // readEntry<T> to convert to QVariant.
+    switch (static_cast<QMetaType::Type>(aDefault.userType())) {
+    case QMetaType::UnknownType:
+        return QVariant();
+    case QMetaType::QString:
+        // this should return the raw string not the dollar expanded string.
+        // imho if processed string is wanted should call
+        // readEntry(key, QString) not readEntry(key, QVariant)
+        return QString::fromUtf8(value);
+    case QMetaType::QUuid:
+        return QUuid::fromString(value);
+    case QMetaType::QVariantList:
+    case QMetaType::QStringList:
+        return KConfigGroupPrivate::deserializeList(QString::fromUtf8(value));
+    case QMetaType::QByteArray:
+        return value;
+    case QMetaType::Bool: {
+        static const std::array<const char *, 4> negatives = {"false", "no", "off", "0"};
+
+        return std::all_of(negatives.begin(), negatives.end(), [value](const char *negativeString) {
+            return value.compare(negativeString, Qt::CaseInsensitive) != 0;
+        });
+    }
+    case QMetaType::Double:
+    case QMetaType::Float:
+    case QMetaType::Int:
+    case QMetaType::UInt:
+    case QMetaType::LongLong:
+    case QMetaType::ULongLong: {
+        QVariant tmp = value;
+        if (!tmp.convert(aDefault.metaType())) {
+            tmp = aDefault;
+        }
+        return tmp;
+    }
+    case QMetaType::QPoint: {
+        const auto list = asIntList(value);
+
+        if (list.count() != 2) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+            return aDefault;
+        }
+        return QPoint(list.at(0), list.at(1));
+    }
+    case QMetaType::QPointF: {
+        const auto list = asRealList(value);
+
+        if (list.count() != 2) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+            return aDefault;
+        }
+        return QPointF(list.at(0), list.at(1));
+    }
+    case QMetaType::QRect: {
+        const auto list = asIntList(value);
+
+        if (list.count() != 4) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(4, list.count());
+            return aDefault;
+        }
+        const QRect rect(list.at(0), list.at(1), list.at(2), list.at(3));
+        if (!rect.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return rect;
+    }
+    case QMetaType::QRectF: {
+        const auto list = asRealList(value);
+
+        if (list.count() != 4) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(4, list.count());
+            return aDefault;
+        }
+        const QRectF rect(list.at(0), list.at(1), list.at(2), list.at(3));
+        if (!rect.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return rect;
+    }
+    case QMetaType::QSize: {
+        const auto list = asIntList(value);
+
+        if (list.count() != 2) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+            return aDefault;
+        }
+        const QSize size(list.at(0), list.at(1));
+        if (!size.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return size;
+    }
+    case QMetaType::QSizeF: {
+        const auto list = asRealList(value);
+
+        if (list.count() != 2) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+            return aDefault;
+        }
+        const QSizeF size(list.at(0), list.at(1));
+        if (!size.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return size;
+    }
+    case QMetaType::QDateTime: {
+        const auto list = asRealList(value);
+        if (list.count() < 6) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(6, list.count());
+            return aDefault;
+        }
+        const QDate date(list.at(0), list.at(1), list.at(2));
+        const qreal totalSeconds = list.at(5);
+        qreal seconds;
+        const qreal fractional = modf(totalSeconds, &seconds);
+        const qreal milliseconds = round(fractional * 1000.0);
+        const QTime time(list.at(3), list.at(4), seconds, milliseconds);
+        const QDateTime dt(date, time);
+        if (!dt.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return dt;
+    }
+    case QMetaType::QDate: {
+        auto list = asIntList(value);
+        // list.count == 6 -> don't break config files that stored QDate as QDateTime
+        if (list.count() != 3 && list.count() != 6) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(3, list.count());
+            return aDefault;
+        }
+        const QDate date(list.at(0), list.at(1), list.at(2));
+        if (!date.isValid()) {
+            qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+            return aDefault;
+        }
+        return date;
+    }
+    case QMetaType::QColor:
+    case QMetaType::QFont:
+        qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::readEntry was passed GUI type '" << aDefault.typeName()
+                                    << "' but KConfigGui isn't linked! If it is linked to your program, "
+                                       "this is a platform bug. Please inform the KDE developers";
+        break;
+    case QMetaType::QUrl:
+        return QUrl(QString::fromUtf8(value));
+
+    default:
+        break;
+    }
+
+    qCWarning(KCONFIG_CORE_LOG) << "unhandled type " << aDefault.typeName();
+    return QVariant();
+}
+
+static bool cleanHomeDirPath(QString &path, const QString &homeDir)
+{
+#ifdef Q_OS_WIN // safer
+    if (!QDir::toNativeSeparators(path).startsWith(QDir::toNativeSeparators(homeDir))) {
+        return false;
+    }
+#else
+    if (!path.startsWith(homeDir)) {
+        return false;
+    }
+#endif
+
+    int len = homeDir.length();
+    // replace by "$HOME" if possible
+    if (len && (path.length() == len || path[len] == QLatin1Char('/'))) {
+        path.replace(0, len, QStringLiteral("$HOME"));
+        return true;
+    }
+
+    return false;
+}
+
+static QString translatePath(QString path) // krazy:exclude=passbyvalue
+{
+    if (path.isEmpty()) {
+        return path;
+    }
+
+    // only "our" $HOME should be interpreted
+    path.replace(QLatin1Char('$'), QLatin1String("$$"));
+
+    const bool startsWithFile = path.startsWith(QLatin1String("file:"), Qt::CaseInsensitive);
+    path = startsWithFile ? QUrl(path).toLocalFile() : path;
+
+    if (QDir::isRelativePath(path)) {
+        return path;
+    }
+
+    // Use the same thing as what expandString() will do, to keep data intact
+#ifdef Q_OS_WIN
+    const QString homeDir = QDir::homePath();
+#else
+    const QString homeDir = QFile::decodeName(qgetenv("HOME"));
+#endif
+    (void)cleanHomeDirPath(path, homeDir);
+
+    if (startsWithFile) {
+        path = QUrl::fromLocalFile(path).toString();
+    }
+
+    return path;
+}
+
+KConfigGroup::KConfigGroup()
+    : d()
+{
+}
+
+bool KConfigGroup::isValid() const
+{
+    return bool(d);
+}
+
+KConfigGroupGui _kde_internal_KConfigGroupGui;
+static inline bool readEntryGui(const QByteArray &data, const char *key, const QVariant &input, QVariant &output)
+{
+    if (_kde_internal_KConfigGroupGui.readEntryGui) {
+        return _kde_internal_KConfigGroupGui.readEntryGui(data, key, input, output);
+    }
+    return false;
+}
+
+static inline bool writeEntryGui(KConfigGroup *cg, const char *key, const QVariant &input, KConfigGroup::WriteConfigFlags flags)
+{
+    if (_kde_internal_KConfigGroupGui.writeEntryGui) {
+        return _kde_internal_KConfigGroupGui.writeEntryGui(cg, key, input, flags);
+    }
+    return false;
+}
+
+KConfigGroup::KConfigGroup(KConfigBase *master, const QString &_group)
+    : d(KConfigGroupPrivate::create(master, _group, master->isGroupImmutable(_group), false))
+{
+}
+
+KConfigGroup::KConfigGroup(const KConfigBase *master, const QString &_group)
+    : d(KConfigGroupPrivate::create(const_cast<KConfigBase *>(master), _group, master->isGroupImmutable(_group), true))
+{
+}
+
+KConfigGroup::KConfigGroup(const KSharedConfigPtr &master, const QString &_group)
+    : d(new KConfigGroupPrivate(master, _group))
+{
+}
+
+KConfigGroup &KConfigGroup::operator=(const KConfigGroup &rhs)
+{
+    d = rhs.d;
+    return *this;
+}
+
+KConfigGroup::KConfigGroup(const KConfigGroup &rhs)
+    : d(rhs.d)
+{
+}
+
+KConfigGroup::~KConfigGroup()
+{
+    d.reset();
+}
+
+KConfigGroup KConfigGroup::groupImpl(const QString &aGroup)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::groupImpl", "accessing an invalid group");
+    Q_ASSERT_X(!aGroup.isEmpty(), "KConfigGroup::groupImpl", "can not have an unnamed child group");
+
+    KConfigGroup newGroup;
+
+    newGroup.d = new KConfigGroupPrivate(this, isGroupImmutableImpl(aGroup), d->bConst, aGroup);
+
+    return newGroup;
+}
+
+const KConfigGroup KConfigGroup::groupImpl(const QString &aGroup) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::groupImpl", "accessing an invalid group");
+    Q_ASSERT_X(!aGroup.isEmpty(), "KConfigGroup::groupImpl", "can not have an unnamed child group");
+
+    KConfigGroup newGroup;
+
+    newGroup.d = new KConfigGroupPrivate(const_cast<KConfigGroup *>(this), isGroupImmutableImpl(aGroup), true, aGroup);
+
+    return newGroup;
+}
+
+KConfigGroup KConfigGroup::parent() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::parent", "accessing an invalid group");
+
+    KConfigGroup parentGroup;
+
+    if (d->mParent) {
+        parentGroup.d = d->mParent;
+    } else {
+        parentGroup.d = new KConfigGroupPrivate(d->mOwner, d->mOwner->isImmutable(), d->bConst, QString());
+        // make sure we keep the refcount up on the KConfig object
+        parentGroup.d->sOwner = d->sOwner;
+    }
+
+    return parentGroup;
+}
+
+void KConfigGroup::deleteGroup(WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::deleteGroup", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteGroup", "deleting a read-only group");
+
+    config()->deleteGroup(d->fullName(), flags);
+}
+
+QString KConfigGroup::name() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::name", "accessing an invalid group");
+
+    return d->name();
+}
+
+bool KConfigGroup::exists() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::exists", "accessing an invalid group");
+
+    return config()->hasGroup(d->fullName());
+}
+
+bool KConfigGroup::sync()
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::sync", "accessing an invalid group");
+
+    if (!d->bConst) {
+        return config()->sync();
+    }
+
+    return false;
+}
+
+QMap<QString, QString> KConfigGroup::entryMap() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::entryMap", "accessing an invalid group");
+
+    return config()->entryMap(d->fullName());
+}
+
+KConfig *KConfigGroup::config()
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::config", "accessing an invalid group");
+
+    return d->mOwner;
+}
+
+const KConfig *KConfigGroup::config() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::config", "accessing an invalid group");
+
+    return d->mOwner;
+}
+
+bool KConfigGroup::isEntryImmutable(const char *key) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::isEntryImmutable", "accessing an invalid group");
+
+    return (isImmutable() || !config()->d_func()->canWriteEntry(d->fullName(), key, config()->readDefaults()));
+}
+
+bool KConfigGroup::isEntryImmutable(const QString &key) const
+{
+    return isEntryImmutable(key.toUtf8().constData());
+}
+
+QString KConfigGroup::readEntryUntranslated(const QString &pKey, const QString &aDefault) const
+{
+    return readEntryUntranslated(pKey.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readEntryUntranslated(const char *key, const QString &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readEntryUntranslated", "accessing an invalid group");
+
+    QString result = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchFlags(), nullptr);
+    if (result.isNull()) {
+        return aDefault;
+    }
+    return result;
+}
+
+QString KConfigGroup::readEntry(const char *key, const char *aDefault) const
+{
+    return readEntry(key, QString::fromUtf8(aDefault));
+}
+
+QString KConfigGroup::readEntry(const QString &key, const char *aDefault) const
+{
+    return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readEntry(const char *key, const QString &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+    bool expand = false;
+
+    // read value from the entry map
+    QString aValue = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized, &expand);
+    if (aValue.isNull()) {
+        aValue = aDefault;
+    }
+
+    if (expand) {
+        return KConfigPrivate::expandString(aValue);
+    }
+
+    return aValue;
+}
+
+QString KConfigGroup::readEntry(const QString &key, const QString &aDefault) const
+{
+    return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readEntry(const char *key, const QStringList &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+    const QString data = readEntry(key, QString());
+    if (data.isNull()) {
+        return aDefault;
+    }
+
+    return KConfigGroupPrivate::deserializeList(data);
+}
+
+QStringList KConfigGroup::readEntry(const QString &key, const QStringList &aDefault) const
+{
+    return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QVariant KConfigGroup::readEntry(const char *key, const QVariant &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+    const QByteArray data = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized);
+    if (data.isNull()) {
+        return aDefault;
+    }
+
+    QVariant value;
+    if (!readEntryGui(data, key, aDefault, value)) {
+        return convertToQVariant(key, data, aDefault);
+    }
+
+    return value;
+}
+
+QVariant KConfigGroup::readEntry(const QString &key, const QVariant &aDefault) const
+{
+    return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QVariantList KConfigGroup::readEntry(const char *key, const QVariantList &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+    const QString data = readEntry(key, QString());
+    if (data.isNull()) {
+        return aDefault;
+    }
+
+    const auto &list = KConfigGroupPrivate::deserializeList(data);
+
+    QVariantList value;
+    value.reserve(list.count());
+    for (const QString &v : list) {
+        value << v;
+    }
+
+    return value;
+}
+
+QVariantList KConfigGroup::readEntry(const QString &key, const QVariantList &aDefault) const
+{
+    return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readXdgListEntry(const QString &key, const QStringList &aDefault) const
+{
+    return readXdgListEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readXdgListEntry(const char *key, const QStringList &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readXdgListEntry", "accessing an invalid group");
+
+    const QString data = readEntry(key, QString());
+    if (data.isNull()) {
+        return aDefault;
+    }
+
+    QStringList value;
+    QString val;
+    val.reserve(data.size());
+    // XXX List serialization being a separate layer from low-level parsing is
+    // probably a bug. No affected entries are defined, though.
+    bool quoted = false;
+    for (int p = 0; p < data.length(); p++) {
+        if (quoted) {
+            val += data[p];
+            quoted = false;
+        } else if (data[p] == QLatin1Char('\\')) {
+            quoted = true;
+        } else if (data[p] == QLatin1Char(';')) {
+            value.append(val);
+            val.clear();
+            val.reserve(data.size() - p);
+        } else {
+            val += data[p];
+        }
+    }
+    if (!val.isEmpty()) {
+        value.append(val);
+    }
+    return value;
+}
+
+QString KConfigGroup::readPathEntry(const QString &pKey, const QString &aDefault) const
+{
+    return readPathEntry(pKey.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readPathEntry(const char *key, const QString &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readPathEntry", "accessing an invalid group");
+
+    bool expand = false;
+
+    QString aValue = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized, &expand);
+    if (aValue.isNull()) {
+        aValue = aDefault;
+    }
+
+    return KConfigPrivate::expandString(aValue);
+}
+
+QStringList KConfigGroup::readPathEntry(const QString &pKey, const QStringList &aDefault) const
+{
+    return readPathEntry(pKey.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readPathEntry(const char *key, const QStringList &aDefault) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::readPathEntry", "accessing an invalid group");
+
+    const QString data = readPathEntry(key, QString());
+    if (data.isNull()) {
+        return aDefault;
+    }
+
+    return KConfigGroupPrivate::deserializeList(data);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QString &value, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    writeEntry(key, value.toUtf8(), flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QString &value, WriteConfigFlags flags)
+{
+    writeEntry(key.toUtf8().constData(), value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const char *value, WriteConfigFlags pFlags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    writeEntry(key.toUtf8().constData(), QVariant(QString::fromLatin1(value)), pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const char *value, WriteConfigFlags pFlags)
+{
+    writeEntry(key, QVariant(QString::fromLatin1(value)), pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QByteArray &value, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    config()->d_func()->putData(d->fullName(), key, value.isNull() ? QByteArray("") : value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QByteArray &value, WriteConfigFlags pFlags)
+{
+    writeEntry(key.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QStringList &list, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    QList<QByteArray> balist;
+    balist.reserve(list.count());
+
+    for (const QString &entry : list) {
+        balist.append(entry.toUtf8());
+    }
+
+    writeEntry(key, KConfigGroupPrivate::serializeList(balist), flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QStringList &list, WriteConfigFlags flags)
+{
+    writeEntry(key.toUtf8().constData(), list, flags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QVariantList &list, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    QList<QByteArray> data;
+    data.reserve(list.count());
+
+    for (const QVariant &v : list) {
+        if (v.userType() == QMetaType::QByteArray) {
+            data << v.toByteArray();
+        } else {
+            data << v.toString().toUtf8();
+        }
+    }
+
+    writeEntry(key, KConfigGroupPrivate::serializeList(data), flags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QVariant &value, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+    if (writeEntryGui(this, key, value, flags)) {
+        return; // GUI type that was handled
+    }
+
+    QByteArray data;
+    // if a type handler is added here you must add a QVConversions definition
+    // to kconfigconversioncheck_p.h, or KConfigConversionCheck::to_QVariant will not allow
+    // writeEntry<T> to convert to QVariant.
+    switch (static_cast<QMetaType::Type>(value.userType())) {
+    case QMetaType::UnknownType:
+        data = "";
+        break;
+    case QMetaType::QByteArray:
+        data = value.toByteArray();
+        break;
+    case QMetaType::QString:
+    case QMetaType::Int:
+    case QMetaType::UInt:
+    case QMetaType::Double:
+    case QMetaType::Float:
+    case QMetaType::Bool:
+    case QMetaType::LongLong:
+    case QMetaType::ULongLong:
+        data = value.toString().toUtf8();
+        break;
+    case QMetaType::QVariantList:
+        if (!value.canConvert<QStringList>()) {
+            qCWarning(KCONFIG_CORE_LOG) << "not all types in \"" << key
+                                        << "\" can convert to QString,"
+                                           " information will be lost";
+        }
+        Q_FALLTHROUGH();
+    case QMetaType::QStringList:
+        writeEntry(key, value.toList(), flags);
+        return;
+    case QMetaType::QPoint: {
+        const QPoint rPoint = value.toPoint();
+
+        const QVariantList list{rPoint.x(), rPoint.y()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QPointF: {
+        const QPointF point = value.toPointF();
+
+        const QVariantList list{point.x(), point.y()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QRect: {
+        const QRect rRect = value.toRect();
+
+        const QVariantList list{rRect.left(), rRect.top(), rRect.width(), rRect.height()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QRectF: {
+        const QRectF rRectF = value.toRectF();
+
+        const QVariantList list{rRectF.left(), rRectF.top(), rRectF.width(), rRectF.height()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QSize: {
+        const QSize rSize = value.toSize();
+
+        const QVariantList list{rSize.width(), rSize.height()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QUuid: {
+        writeEntry(key, value.toString(), flags);
+        return;
+    }
+    case QMetaType::QSizeF: {
+        const QSizeF rSizeF = value.toSizeF();
+
+        const QVariantList list{rSizeF.width(), rSizeF.height()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QDate: {
+        const QDate date = value.toDate();
+
+        const QVariantList list{date.year(), date.month(), date.day()};
+
+        writeEntry(key, list, flags);
+        return;
+    }
+    case QMetaType::QDateTime: {
+        const QDateTime rDateTime = value.toDateTime();
+
+        const QTime time = rDateTime.time();
+        const QDate date = rDateTime.date();
+
+        const QVariantList list{
+            date.year(),
+            date.month(),
+            date.day(),
+
+            time.hour(),
+            time.minute(),
+            time.second() + time.msec() / 1000.0,
+        };
+
+        writeEntry(key, list, flags);
+        return;
+    }
+
+    case QMetaType::QColor:
+    case QMetaType::QFont:
+        qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::writeEntry was passed GUI type '" << value.typeName()
+                                    << "' but KConfigGui isn't linked! If it is linked to your program, this is a platform bug. "
+                                       "Please inform the KDE developers";
+        break;
+    case QMetaType::QUrl:
+        data = QUrl(value.toUrl()).toString().toUtf8();
+        break;
+    default:
+        qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::writeEntry - unhandled type" << value.typeName() << "in group" << name();
+    }
+
+    writeEntry(key, data, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QVariant &value, WriteConfigFlags flags)
+{
+    writeEntry(key.toUtf8().constData(), value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QVariantList &list, WriteConfigFlags flags)
+{
+    writeEntry(key.toUtf8().constData(), list, flags);
+}
+
+void KConfigGroup::writeXdgListEntry(const QString &key, const QStringList &value, WriteConfigFlags pFlags)
+{
+    writeXdgListEntry(key.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writeXdgListEntry(const char *key, const QStringList &list, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writeXdgListEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writeXdgListEntry", "writing to a read-only group");
+
+    QString value;
+    value.reserve(4096);
+
+    // XXX List serialization being a separate layer from low-level escaping is
+    // probably a bug. No affected entries are defined, though.
+    for (QString val : list) { // clazy:exclude=range-loop
+        val.replace(QLatin1Char('\\'), QLatin1String("\\\\")).replace(QLatin1Char(';'), QLatin1String("\\;"));
+        value += val + QLatin1Char(';');
+    }
+
+    writeEntry(key, value, flags);
+}
+
+void KConfigGroup::writePathEntry(const QString &pKey, const QString &path, WriteConfigFlags pFlags)
+{
+    writePathEntry(pKey.toUtf8().constData(), path, pFlags);
+}
+
+void KConfigGroup::writePathEntry(const char *pKey, const QString &path, WriteConfigFlags pFlags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writePathEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writePathEntry", "writing to a read-only group");
+
+    config()->d_func()->putData(d->fullName(), pKey, translatePath(path).toUtf8(), pFlags, true);
+}
+
+void KConfigGroup::writePathEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags)
+{
+    writePathEntry(pKey.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writePathEntry(const char *pKey, const QStringList &value, WriteConfigFlags pFlags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::writePathEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::writePathEntry", "writing to a read-only group");
+
+    QList<QByteArray> list;
+    list.reserve(value.length());
+    for (const QString &path : value) {
+        list << translatePath(path).toUtf8();
+    }
+
+    config()->d_func()->putData(d->fullName(), pKey, KConfigGroupPrivate::serializeList(list), pFlags, true);
+}
+
+void KConfigGroup::deleteEntry(const char *key, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::deleteEntry", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteEntry", "deleting from a read-only group");
+
+    config()->d_func()->putData(d->fullName(), key, QByteArray(), flags);
+}
+
+void KConfigGroup::deleteEntry(const QString &key, WriteConfigFlags flags)
+{
+    deleteEntry(key.toUtf8().constData(), flags);
+}
+
+void KConfigGroup::revertToDefault(const char *key, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::revertToDefault", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::revertToDefault", "writing to a read-only group");
+
+    config()->d_func()->revertEntry(d->fullName(), key, flags);
+}
+
+void KConfigGroup::revertToDefault(const QString &key, WriteConfigFlags flags)
+{
+    revertToDefault(key.toUtf8().constData(), flags);
+}
+
+bool KConfigGroup::hasDefault(const char *key) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::hasDefault", "accessing an invalid group");
+
+    KEntryMap::SearchFlags flags = KEntryMap::SearchDefaults | KEntryMap::SearchLocalized;
+
+    return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull();
+}
+
+bool KConfigGroup::hasDefault(const QString &key) const
+{
+    return hasDefault(key.toUtf8().constData());
+}
+
+bool KConfigGroup::hasKey(const char *key) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::hasKey", "accessing an invalid group");
+
+    KEntryMap::SearchFlags flags = KEntryMap::SearchLocalized;
+    if (config()->readDefaults()) {
+        flags |= KEntryMap::SearchDefaults;
+    }
+
+    return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull();
+}
+
+bool KConfigGroup::hasKey(const QString &key) const
+{
+    return hasKey(key.toUtf8().constData());
+}
+
+bool KConfigGroup::isImmutable() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::isImmutable", "accessing an invalid group");
+
+    return d->bImmutable;
+}
+
+QStringList KConfigGroup::groupList() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::groupList", "accessing an invalid group");
+
+    return config()->d_func()->groupList(d->fullName());
+}
+
+QStringList KConfigGroup::keyList() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::keyList", "accessing an invalid group");
+
+    return config()->d_func()->usedKeyList(d->fullName());
+}
+
+void KConfigGroup::markAsClean()
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::markAsClean", "accessing an invalid group");
+
+    config()->markAsClean();
+}
+
+KConfigGroup::AccessMode KConfigGroup::accessMode() const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::accessMode", "accessing an invalid group");
+
+    return config()->accessMode();
+}
+
+bool KConfigGroup::hasGroupImpl(const QString &b) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::hasGroupImpl", "accessing an invalid group");
+
+    return config()->hasGroup(d->fullName(b));
+}
+
+void KConfigGroup::deleteGroupImpl(const QString &b, WriteConfigFlags flags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::deleteGroupImpl", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteGroupImpl", "deleting from a read-only group");
+
+    config()->deleteGroup(d->fullName(b), flags);
+}
+
+bool KConfigGroup::isGroupImmutableImpl(const QString &groupName) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::isGroupImmutableImpl", "accessing an invalid group");
+
+    if (!hasGroupImpl(groupName)) { // group doesn't exist yet
+        return d->bImmutable; // child groups are immutable if the parent is immutable.
+    }
+
+    return config()->isGroupImmutable(d->fullName(groupName));
+}
+
+void KConfigGroup::copyTo(KConfigBase *other, WriteConfigFlags pFlags) const
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::copyTo", "accessing an invalid group");
+    Q_ASSERT(other != nullptr);
+
+    if (KConfigGroup *otherGroup = dynamic_cast<KConfigGroup *>(other)) {
+        config()->d_func()->copyGroup(d->fullName(), otherGroup->d->fullName(), otherGroup, pFlags);
+    } else if (KConfig *otherConfig = dynamic_cast<KConfig *>(other)) {
+        KConfigGroup newGroup = otherConfig->group(d->fullName());
+        otherConfig->d_func()->copyGroup(d->fullName(), d->fullName(), &newGroup, pFlags);
+    } else {
+        Q_ASSERT_X(false, "KConfigGroup::copyTo", "unknown type of KConfigBase");
+    }
+}
+
+void KConfigGroup::reparent(KConfigBase *parent, WriteConfigFlags pFlags)
+{
+    Q_ASSERT_X(isValid(), "KConfigGroup::reparent", "accessing an invalid group");
+    Q_ASSERT_X(!d->bConst, "KConfigGroup::reparent", "reparenting a read-only group");
+    Q_ASSERT_X(!d->bImmutable, "KConfigGroup::reparent", "reparenting an immutable group");
+    Q_ASSERT(parent != nullptr);
+
+    KConfigGroup oldGroup(*this);
+
+    d = KConfigGroupPrivate::create(parent, d->mName, false, false);
+    oldGroup.copyTo(this, pFlags);
+    oldGroup.deleteGroup(); // so that the entries with the old group name are deleted on sync
+}
+
+void KConfigGroup::moveValue(const char *key, KConfigGroup &other, WriteConfigFlags pFlags)
+{
+    const QString groupName = name();
+    const auto entry = config()->d_ptr->lookupInternalEntry(groupName, key, KEntryMap::SearchLocalized);
+
+    // Only write the entry if it is not null, if it is a global enry there is no point in moving it
+    if (!entry.mValue.isNull() && !entry.bGlobal) {
+        deleteEntry(key, pFlags);
+        KEntryMap::EntryOptions options = KEntryMap::EntryOption::EntryDirty;
+        if (entry.bDeleted) {
+            options |= KEntryMap::EntryDeleted;
+        }
+
+        if (entry.bExpand) {
+            options |= KEntryMap::EntryExpansion;
+        }
+
+        other.config()->d_ptr->setEntryData(other.name(), key, entry.mValue, options);
+    }
+}
+
+void KConfigGroup::moveValuesTo(const QList<const char *> &keys, KConfigGroup &other, WriteConfigFlags pFlags)
+{
+    Q_ASSERT(isValid());
+    Q_ASSERT(other.isValid());
+
+    for (const auto key : keys) {
+        moveValue(key, other, pFlags);
+    }
+}
+
+void KConfigGroup::moveValuesTo(KConfigGroup &other, WriteConfigFlags pFlags)
+{
+    Q_ASSERT(isValid());
+    Q_ASSERT(other.isValid());
+
+    const QStringList keys = keyList();
+    for (const QString &key : keys) {
+        moveValue(key.toUtf8().constData(), other, pFlags);
+    }
+}
diff --git a/src/core/kconfiggroup.h b/src/core/kconfiggroup.h
new file mode 100644 (file)
index 0000000..b2455d2
--- /dev/null
@@ -0,0 +1,810 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+    SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGGROUP_H
+#define KCONFIGGROUP_H
+
+#include "kconfigbase.h"
+
+#include <kconfigcore_export.h>
+
+#include <QExplicitlySharedDataPointer>
+#include <QStringList>
+#include <QVariant>
+
+class KConfig;
+class KConfigGroupPrivate;
+class KSharedConfig;
+
+/**
+ * \class KConfigGroup kconfiggroup.h <KConfigGroup>
+ *
+ * A class for one specific group in a KConfig object.
+ *
+ * If you want to access the top-level entries of a KConfig
+ * object, which are not associated with any group, use an
+ * empty group name.
+ *
+ * A KConfigGroup will be read-only if it is constructed from a
+ * const config object or from another read-only group.
+ */
+class KCONFIGCORE_EXPORT KConfigGroup : public KConfigBase
+{
+public:
+    /**
+     * Constructs an invalid group.
+     *
+     * \see isValid
+     */
+    KConfigGroup();
+
+    /**
+     * Construct a config group corresponding to @p group in @p master.
+     *
+     * This allows the creation of subgroups by passing another
+     * group as @p master.
+     *
+     * @param group name of group
+     */
+    KConfigGroup(KConfigBase *master, const QString &group);
+
+    /**
+     * Construct a read-only config group.
+     *
+     * A read-only group will silently ignore any attempts to write to it.
+     *
+     * This allows the creation of subgroups by passing an existing group
+     * as @p master.
+     */
+    KConfigGroup(const KConfigBase *master, const QString &group);
+
+    /** Overload for KConfigGroup(const KConfigBase*,const QString&) */
+    KConfigGroup(const QExplicitlySharedDataPointer<KSharedConfig> &master, const QString &group);
+
+    /**
+     * Creates a copy of a group.
+     */
+    KConfigGroup(const KConfigGroup &);
+    KConfigGroup &operator=(const KConfigGroup &);
+
+    ~KConfigGroup() override;
+
+    /**
+     * Whether the group is valid.
+     *
+     * A group is invalid if it was constructed without arguments.
+     *
+     * You should not call any functions on an invalid group.
+     *
+     * @return @c true if the group is valid, @c false if it is invalid.
+     */
+    bool isValid() const;
+
+    /**
+     * The name of this group.
+     *
+     * The root group is named "<default>".
+     */
+    QString name() const;
+
+    /**
+     * Check whether the containing KConfig object actually contains a
+     * group with this name.
+     */
+    bool exists() const;
+
+    /**
+     * @reimp
+     *
+     * Syncs the parent config.
+     */
+    bool sync() override;
+
+    /// @reimp
+    void markAsClean() override;
+
+    /// @reimp
+    AccessMode accessMode() const override;
+
+    /**
+     * Return the config object that this group belongs to
+     */
+    KConfig *config();
+    /**
+     * Return the config object that this group belongs to
+     */
+    const KConfig *config() const;
+
+    /**
+     * Copies the entries in this group to another configuration object
+     *
+     * @note @p other can be either another group or a different file.
+     *
+     * @param other  the configuration object to copy this group's entries to
+     * @param pFlags the flags to use when writing the entries to the
+     *               other configuration object
+     *
+     * @since 4.1
+     */
+    void copyTo(KConfigBase *other, WriteConfigFlags pFlags = Normal) const;
+
+    /**
+     * Changes the configuration object that this group belongs to
+     *
+     * @note @p other can be another group, the top-level KConfig object or
+     * a different KConfig object entirely.
+     *
+     * If @p parent is already the parent of this group, this method will have
+     * no effect.
+     *
+     * @param parent the config object to place this group under
+     * @param pFlags the flags to use in determining which storage source to
+     *               write the data to
+     *
+     * @since 4.1
+     */
+    void reparent(KConfigBase *parent, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Moves the key-value pairs from one config group to the other.
+     * In case the entries do not exist the key is ignored.
+     *
+     * @since 5.88
+     */
+    void moveValuesTo(const QList<const char *> &keys, KConfigGroup &other, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Moves the key-value pairs from one config group to the other.
+     *
+     * @since 6.3
+     */
+    void moveValuesTo(KConfigGroup &other, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Returns the group that this group belongs to
+     *
+     * @return the parent group, or an invalid group if this is a top-level
+     *          group
+     *
+     * @since 4.1
+     */
+    KConfigGroup parent() const;
+
+    /**
+     * @reimp
+     */
+    QStringList groupList() const override;
+
+    /**
+     * Returns a list of keys this group contains
+     */
+    QStringList keyList() const;
+
+    /**
+     * Delete all entries in the entire group
+     *
+     * @param pFlags flags passed to KConfig::deleteGroup
+     *
+     * @see deleteEntry()
+     */
+    void deleteGroup(WriteConfigFlags pFlags = Normal);
+    using KConfigBase::deleteGroup;
+
+    /**
+     * Reads the value of an entry specified by @p pKey in the current group
+     *
+     * This template method makes it possible to write
+     *    QString foo = readEntry("...", QString("default"));
+     * and the same with all other types supported by QVariant.
+     *
+     * The return type of the method is simply the same as the type of the default value.
+     *
+     * @note readEntry("...", Qt::white) will not compile because Qt::white is an enum.
+     * You must turn it into readEntry("...", QColor(Qt::white)).
+     *
+     * @note Only the following QVariant types are allowed : String,
+     * StringList, List, Font, Point, PointF, Rect, RectF, Size, SizeF, Color, Int, UInt, Bool,
+     * Double, LongLong, ULongLong, DateTime and Date.
+     *
+     * @param key The key to search for
+     * @param aDefault A default value returned if the key was not found
+     * @return The value for this key, or @p aDefault.
+     *
+     * @see writeEntry(), deleteEntry(), hasKey()
+     */
+    template<typename T>
+    T readEntry(const QString &key, const T &aDefault) const
+    {
+        return readEntry(key.toUtf8().constData(), aDefault);
+    }
+    /**
+     * Overload for readEntry<T>(const QString&, const T&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    template<typename T>
+    T readEntry(const char *key, const T &aDefault) const;
+
+    /**
+     * Reads the value of an entry specified by @p key in the current group
+     *
+     * @param key the key to search for
+     * @param aDefault a default value returned if the key was not found
+     * @return the value for this key, or @p aDefault if the key was not found
+     *
+     * @see writeEntry(), deleteEntry(), hasKey()
+     */
+    QVariant readEntry(const QString &key, const QVariant &aDefault) const;
+    /**
+     * Overload for readEntry(const QString&, const QVariant&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QVariant readEntry(const char *key, const QVariant &aDefault) const;
+
+    /**
+     * Reads the string value of an entry specified by @p key in the current group
+     *
+     * If you want to read a path, please use readPathEntry().
+     *
+     * @param key the key to search for
+     * @param aDefault a default value returned if the key was not found
+     * @return the value for this key, or @p aDefault if the key was not found
+     *
+     * @see readPathEntry(), writeEntry(), deleteEntry(), hasKey()
+     */
+    QString readEntry(const QString &key, const QString &aDefault) const;
+    /**
+     * Overload for readEntry(const QString&, const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QString readEntry(const char *key, const QString &aDefault) const;
+
+    /** Overload for readEntry(const QString&, const QString&) const */
+    QString readEntry(const QString &key, const char *aDefault = nullptr) const;
+    /**
+     * Overload for readEntry(const QString&, const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QString readEntry(const char *key, const char *aDefault = nullptr) const;
+
+    /**
+     * @copydoc readEntry(const char*, const QStringList&) const
+     *
+     * @warning This function doesn't convert the items returned
+     *          to any type. It's actually a list of QVariant::String's. If you
+     *          want the items converted to a specific type use
+     *          readEntry(const char*, const QList<T>&) const
+     */
+    QVariantList readEntry(const QString &key, const QVariantList &aDefault) const;
+    /**
+     * Overload for readEntry(const QString&, const QVariantList&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QVariantList readEntry(const char *key, const QVariantList &aDefault) const;
+
+    /**
+     * Reads a list of strings from the config object
+     *
+     * @param key The key to search for
+     * @param aDefault The default value to use if the key does not exist
+     * @return The list, or @p aDefault if @p key does not exist
+     *
+     * @see readXdgListEntry(), writeEntry(), deleteEntry(), hasKey()
+     */
+    QStringList readEntry(const QString &key, const QStringList &aDefault) const;
+    /**
+     * Overload for readEntry(const QString&, const QStringList&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QStringList readEntry(const char *key, const QStringList &aDefault) const;
+
+    /**
+     * Reads a list of values from the config object
+     *
+     * @param key the key to search for
+     * @param aDefault the default value to use if the key does not exist
+     * @return the list, or @p aDefault if @p key does not exist
+     *
+     * @see readXdgListEntry(), writeEntry(), deleteEntry(), hasKey()
+     */
+    template<typename T>
+    QList<T> readEntry(const QString &key, const QList<T> &aDefault) const
+    {
+        return readEntry(key.toUtf8().constData(), aDefault);
+    }
+    /**
+     * Overload for readEntry<T>(const QString&, const QList<T>&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    template<typename T>
+    QList<T> readEntry(const char *key, const QList<T> &aDefault) const;
+
+    /**
+     * Reads a list of strings from the config object with semicolons separating
+     * them (i.e. following desktop entry spec separator semantics).
+     *
+     * @param pKey the key to search for
+     * @param aDefault the default value to use if the key does not exist
+     * @return the list, or @p aDefault if @p pKey does not exist
+     *
+     * @see readEntry(const QString&, const QStringList&) const
+     */
+    QStringList readXdgListEntry(const QString &pKey, const QStringList &aDefault = QStringList()) const;
+    /**
+     * Overload for readXdgListEntry(const QString&, const QStringList&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QStringList readXdgListEntry(const char *key, const QStringList &aDefault = QStringList()) const;
+
+    /**
+     * Reads a path
+     *
+     * Read the value of an entry specified by @p pKey in the current group
+     * and interpret it as a path. This means, dollar expansion is activated
+     * for this value, so that e.g. $HOME gets expanded.
+     *
+     * @param pKey The key to search for.
+     * @param aDefault A default value returned if the key was not found.
+     * @return The value for this key. Can be QString() if @p aDefault is null.
+     */
+    QString readPathEntry(const QString &pKey, const QString &aDefault) const;
+    /**
+     * Overload for readPathEntry(const QString&, const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QString readPathEntry(const char *key, const QString &aDefault) const;
+
+    /**
+     * Reads a list of paths
+     *
+     * Read the value of an entry specified by @p pKey in the current group
+     * and interpret it as a list of paths. This means, dollar expansion is activated
+     * for this value, so that e.g. $HOME gets expanded.
+     *
+     * @param pKey the key to search for
+     * @param aDefault a default value returned if the key was not found
+     * @return the list, or @p aDefault if the key does not exist
+     */
+    QStringList readPathEntry(const QString &pKey, const QStringList &aDefault) const;
+    /**
+     * Overload for readPathEntry(const QString&, const QStringList&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QStringList readPathEntry(const char *key, const QStringList &aDefault) const;
+
+    /**
+     * Reads an untranslated string entry
+     *
+     * You should not normally need to use this.
+     *
+     * @param pKey the key to search for
+     * @param aDefault a default value returned if the key was not found
+     * @return the value for this key, or @p aDefault if the key does not exist
+     */
+    QString readEntryUntranslated(const QString &pKey, const QString &aDefault = QString()) const;
+    /**
+     * Overload for readEntryUntranslated(const QString&, const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    QString readEntryUntranslated(const char *key, const QString &aDefault = QString()) const;
+
+    /**
+     * Writes a value to the configuration object.
+     *
+     * @param key the key to write to
+     * @param value the value to write
+     * @param pFlags the flags to use when writing this entry
+     *
+     * @see readEntry(), writeXdgListEntry(), deleteEntry()
+     */
+    void writeEntry(const QString &key, const QVariant &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const QVariant &value, WriteConfigFlags pFlags = Normal);
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    void writeEntry(const QString &key, const QString &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const QString &value, WriteConfigFlags pFlags = Normal);
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    void writeEntry(const QString &key, const QByteArray &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const QByteArray &value, WriteConfigFlags pFlags = Normal);
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    void writeEntry(const QString &key, const char *value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const char *value, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    template<typename T>
+    void writeEntry(const char *key, const T &value, WriteConfigFlags pFlags = Normal);
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    template<typename T>
+    void writeEntry(const QString &key, const T &value, WriteConfigFlags pFlags = Normal)
+    {
+        writeEntry(key.toUtf8().constData(), value, pFlags);
+    }
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    void writeEntry(const QString &key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    void writeEntry(const QString &key, const QVariantList &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeEntry(const char *key, const QVariantList &value, WriteConfigFlags pFlags = Normal);
+
+    /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+    template<typename T>
+    void writeEntry(const QString &key, const QList<T> &value, WriteConfigFlags pFlags = Normal)
+    {
+        writeEntry(key.toUtf8().constData(), value, pFlags);
+    }
+    /**
+     * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    template<typename T>
+    void writeEntry(const char *key, const QList<T> &value, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Writes a list of strings to the config object, following XDG
+     * desktop entry spec separator semantics
+     *
+     * @param pKey the key to write to
+     * @param value the list to write
+     * @param pFlags the flags to use when writing this entry
+     *
+     * @see writeEntry(), readXdgListEntry()
+     */
+    void writeXdgListEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writeXdgListEntry(const QString&, const QStringList&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writeXdgListEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Writes a file path to the configuration
+     *
+     * If the path is located under $HOME, the user's home directory
+     * is replaced with $HOME in the persistent storage.
+     * The path should therefore be read back with readPathEntry()
+     *
+     * @param pKey the key to write to
+     * @param path the path to write
+     * @param pFlags the flags to use when writing this entry
+     *
+     * @see writeEntry(), readPathEntry()
+     */
+    void writePathEntry(const QString &pKey, const QString &path, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writePathEntry(const QString&, const QString&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writePathEntry(const char *Key, const QString &path, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Writes a list of paths to the configuration
+     *
+     * If any of the paths are located under $HOME, the user's home directory
+     * is replaced with $HOME in the persistent storage.
+     * The paths should therefore be read back with readPathEntry()
+     *
+     * @param pKey the key to write to
+     * @param value the list to write
+     * @param pFlags the flags to use when writing this entry
+     *
+     * @see writeEntry(), readPathEntry()
+     */
+    void writePathEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for writePathEntry(const QString&, const QStringList&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void writePathEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Deletes the entry specified by @p pKey in the current group
+     *
+     * This also hides system wide defaults.
+     *
+     * @param pKey the key to delete
+     * @param pFlags the flags to use when deleting this entry
+     *
+     * @see deleteGroup(), readEntry(), writeEntry()
+     */
+    void deleteEntry(const QString &pKey, WriteConfigFlags pFlags = Normal);
+    /**
+     * Overload for deleteEntry(const QString&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void deleteEntry(const char *key, WriteConfigFlags pFlags = Normal);
+
+    /**
+     * Checks whether the key has an entry in this group
+     *
+     * Use this to determine if a key is not specified for the current
+     * group (hasKey() returns false).
+     *
+     * If this returns @c false for a key, readEntry() (and its variants)
+     * will return the default value passed to them.
+     *
+     * @param key the key to search for
+     * @return @c true if the key is defined in this group by any of the
+     *         configuration sources, @c false otherwise
+     *
+     * @see readEntry()
+     */
+    bool hasKey(const QString &key) const;
+    /**
+     * Overload for hasKey(const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    bool hasKey(const char *key) const;
+
+    /**
+     * Whether this group may be changed
+     *
+     * @return @c false if the group may be changed, @c true otherwise
+     */
+    bool isImmutable() const override;
+
+    /**
+     * Checks if it is possible to change the given entry
+     *
+     * If isImmutable() returns @c true, then this method will return
+     * @c true for all inputs.
+     *
+     * @param key the key to check
+     * @return @c false if the key may be changed using this configuration
+     *         group object, @c true otherwise
+     */
+    bool isEntryImmutable(const QString &key) const;
+    /**
+     * Overload for isEntryImmutable(const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    bool isEntryImmutable(const char *key) const;
+
+    /**
+     * Reverts an entry to the default settings.
+     *
+     * Reverts the entry with key @p key in the current group in the
+     * application specific config file to either the system wide (default)
+     * value or the value specified in the global KDE config file.
+     *
+     * To revert entries in the global KDE config file, the global KDE config
+     * file should be opened explicitly in a separate config object.
+     *
+     * @note This is @em not the same as deleting the key, as instead the
+     * global setting will be copied to the configuration file that this
+     * object manipulates.
+     *
+     * @param key The key of the entry to revert.
+     */
+    void revertToDefault(const QString &key, WriteConfigFlags pFlag = WriteConfigFlags());
+
+    /**
+     * Overload for revertToDefault(const QString&, WriteConfigFlags)
+     * @param key name of key, encoded in UTF-8
+     */
+    void revertToDefault(const char *key, WriteConfigFlags pFlag = WriteConfigFlags());
+
+    /**
+     * Whether a default is specified for an entry in either the
+     * system wide configuration file or the global KDE config file
+     *
+     * If an application computes a default value at runtime for
+     * a certain entry, e.g. like:
+     * \code
+     * QColor computedDefault = qApp->palette().color(QPalette::Active, QPalette::Text);
+     * QColor color = group.readEntry(key, computedDefault);
+     * \endcode
+     * then it may wish to make the following check before
+     * writing back changes:
+     * \code
+     * if ( (value == computedDefault) && !group.hasDefault(key) )
+     *    group.revertToDefault(key);
+     * else
+     *    group.writeEntry(key, value);
+     * \endcode
+     *
+     * This ensures that as long as the entry is not modified to differ from
+     * the computed default, the application will keep using the computed default
+     * and will follow changes the computed default makes over time.
+     *
+     * @param key the key of the entry to check
+     * @return @c true if the global or system settings files specify a default
+     *          for @p key in this group, @c false otherwise
+     */
+    bool hasDefault(const QString &key) const;
+    /**
+     * Overload for hasDefault(const QString&) const
+     * @param key name of key, encoded in UTF-8
+     */
+    bool hasDefault(const char *key) const;
+
+    /**
+     * Returns a map (tree) of entries for all entries in this group
+     *
+     * Only the actual entry string is returned, none of the
+     * other internal data should be included.
+     *
+     * @return a map of entries in this group, indexed by key
+     */
+    QMap<QString, QString> entryMap() const;
+
+protected:
+    bool hasGroupImpl(const QString &groupName) const override;
+    KConfigGroup groupImpl(const QString &groupName) override;
+    const KConfigGroup groupImpl(const QString &groupName) const override;
+    void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags) override;
+    bool isGroupImmutableImpl(const QString &groupName) const override;
+
+private:
+    QExplicitlySharedDataPointer<KConfigGroupPrivate> d;
+
+    friend class KConfigGroupPrivate;
+
+    /**
+     * Return the data in @p value converted to a QVariant
+     *
+     * @param pKey the name of the entry being converted, this is only used for error
+     * reporting
+     * @param value the UTF-8 data to be converted
+     * @param aDefault the default value if @p pKey is not found
+     * @return @p value converted to QVariant, or @p aDefault if @p value is invalid or cannot be converted.
+     */
+    static QVariant convertToQVariant(const char *pKey, const QByteArray &value, const QVariant &aDefault);
+
+    KCONFIGCORE_NO_EXPORT void moveValue(const char *key, KConfigGroup &other, WriteConfigFlags pFlags);
+
+    // exported for usage by KServices' KService & KServiceAction
+    friend class KServicePrivate; // XXX yeah, ugly^5
+    friend class KServiceAction;
+};
+
+Q_DECLARE_TYPEINFO(KConfigGroup, Q_RELOCATABLE_TYPE);
+
+#define KCONFIGGROUP_ENUMERATOR_ERROR(ENUM) "The Qt MetaObject system does not seem to know about \"" ENUM "\" please use Q_ENUM or Q_FLAG to register it."
+
+/**
+ * To add support for your own enums in KConfig, you can declare them with Q_ENUM()
+ * in a QObject subclass (which will make moc generate the code to turn the
+ * enum into a string and vice-versa), and then (in the cpp code)
+ * use the macro
+ * <code>KCONFIGGROUP_DECLARE_ENUM_QOBJECT(MyClass, MyEnum)</code>
+ *
+ */
+#define KCONFIGGROUP_DECLARE_ENUM_QOBJECT(Class, Enum)                                                                                                         \
+    template<>                                                                                                                                                 \
+    Class::Enum KConfigGroup::readEntry(const char *key, const Class::Enum &def) const                                                                         \
+    {                                                                                                                                                          \
+        const QMetaObject *M_obj = &Class::staticMetaObject;                                                                                                   \
+        const int M_index = M_obj->indexOfEnumerator(#Enum);                                                                                                   \
+        if (M_index == -1)                                                                                                                                     \
+            qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Enum));                                                                                                      \
+        const QMetaEnum M_enum = M_obj->enumerator(M_index);                                                                                                   \
+        const QByteArray M_data = readEntry(key, QByteArray(M_enum.valueToKey(def)));                                                                          \
+        return static_cast<Class::Enum>(M_enum.keyToValue(M_data.constData()));                                                                                \
+    }                                                                                                                                                          \
+    template<>                                                                                                                                                 \
+    void KConfigGroup::writeEntry(const char *key, const Class::Enum &value, KConfigBase::WriteConfigFlags flags)                                              \
+    {                                                                                                                                                          \
+        const QMetaObject *M_obj = &Class::staticMetaObject;                                                                                                   \
+        const int M_index = M_obj->indexOfEnumerator(#Enum);                                                                                                   \
+        if (M_index == -1)                                                                                                                                     \
+            qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Enum));                                                                                                      \
+        const QMetaEnum M_enum = M_obj->enumerator(M_index);                                                                                                   \
+        writeEntry(key, QByteArray(M_enum.valueToKey(value)), flags);                                                                                          \
+    }
+
+/**
+ * Similar to KCONFIGGROUP_DECLARE_ENUM_QOBJECT but for flags declared with Q_FLAG()
+ * (where multiple values can be set at the same time)
+ */
+#define KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(Class, Flags)                                                                                                       \
+    template<>                                                                                                                                                 \
+    Class::Flags KConfigGroup::readEntry(const char *key, const Class::Flags &def) const                                                                       \
+    {                                                                                                                                                          \
+        const QMetaObject *M_obj = &Class::staticMetaObject;                                                                                                   \
+        const int M_index = M_obj->indexOfEnumerator(#Flags);                                                                                                  \
+        if (M_index == -1)                                                                                                                                     \
+            qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Flags));                                                                                                     \
+        const QMetaEnum M_enum = M_obj->enumerator(M_index);                                                                                                   \
+        const QByteArray M_data = readEntry(key, QByteArray(M_enum.valueToKeys(def)));                                                                         \
+        return static_cast<Class::Flags>(M_enum.keysToValue(M_data.constData()));                                                                              \
+    }                                                                                                                                                          \
+    template<>                                                                                                                                                 \
+    void KConfigGroup::writeEntry(const char *key, const Class::Flags &value, KConfigBase::WriteConfigFlags flags)                                             \
+    {                                                                                                                                                          \
+        const QMetaObject *M_obj = &Class::staticMetaObject;                                                                                                   \
+        const int M_index = M_obj->indexOfEnumerator(#Flags);                                                                                                  \
+        if (M_index == -1)                                                                                                                                     \
+            qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Flags));                                                                                                     \
+        const QMetaEnum M_enum = M_obj->enumerator(M_index);                                                                                                   \
+        writeEntry(key, QByteArray(M_enum.valueToKeys(value)), flags);                                                                                         \
+    }
+
+#include "kconfigconversioncheck_p.h"
+
+template<typename T>
+T KConfigGroup::readEntry(const char *key, const T &defaultValue) const
+{
+    KConfigConversionCheck::to_QVariant<T>();
+    return qvariant_cast<T>(readEntry(key, QVariant::fromValue(defaultValue)));
+}
+
+template<typename T>
+QList<T> KConfigGroup::readEntry(const char *key, const QList<T> &defaultValue) const
+{
+    KConfigConversionCheck::to_QVariant<T>();
+    KConfigConversionCheck::to_QString<T>();
+
+    QVariantList data;
+
+    for (const T &value : defaultValue) {
+        data.append(QVariant::fromValue(value));
+    }
+
+    QList<T> list;
+    const auto variantList = readEntry<QVariantList>(key, data);
+    for (const QVariant &value : variantList) {
+        Q_ASSERT(value.canConvert<T>());
+        list.append(qvariant_cast<T>(value));
+    }
+
+    return list;
+}
+
+template<typename T>
+void KConfigGroup::writeEntry(const char *key, const T &value, WriteConfigFlags pFlags)
+{
+    KConfigConversionCheck::to_QVariant<T>();
+    writeEntry(key, QVariant::fromValue(value), pFlags);
+}
+
+template<typename T>
+void KConfigGroup::writeEntry(const char *key, const QList<T> &list, WriteConfigFlags pFlags)
+{
+    KConfigConversionCheck::to_QVariant<T>();
+    KConfigConversionCheck::to_QString<T>();
+    QVariantList data;
+    for (const T &value : list) {
+        data.append(QVariant::fromValue(value));
+    }
+
+    writeEntry(key, data, pFlags);
+}
+
+#endif // KCONFIGGROUP_H
diff --git a/src/core/kconfiggroup_p.h b/src/core/kconfiggroup_p.h
new file mode 100644 (file)
index 0000000..2744c15
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2007 Thiago Macieira <thiago@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGGROUP_P_H
+#define KCONFIGGROUP_P_H
+
+#include "kconfiggroup.h"
+#include <QVariant>
+
+class KConfigGroup;
+
+struct KConfigGroupGui {
+    typedef bool (*kReadEntryGui)(const QByteArray &data, const char *key, const QVariant &input, QVariant &output);
+    typedef bool (*kWriteEntryGui)(KConfigGroup *, const char *key, const QVariant &input, KConfigGroup::WriteConfigFlags flags);
+
+    kReadEntryGui readEntryGui;
+    kWriteEntryGui writeEntryGui;
+};
+
+extern KCONFIGCORE_EXPORT KConfigGroupGui _kde_internal_KConfigGroupGui;
+
+#endif
diff --git a/src/core/kconfigini.cpp b/src/core/kconfigini.cpp
new file mode 100644 (file)
index 0000000..c61df3d
--- /dev/null
@@ -0,0 +1,960 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigini_p.h"
+
+#include "kconfig_core_log_settings.h"
+#include "kconfigdata_p.h"
+
+#include <QDateTime>
+#include <QDebug>
+#include <QDir>
+#include <QFile>
+#include <QFileInfo>
+#include <QLockFile>
+#include <QSaveFile>
+#include <QStandardPaths>
+#include <qplatformdefs.h>
+
+#ifndef Q_OS_WIN
+#include <unistd.h> // getuid, close
+#endif
+#include <fcntl.h> // open
+#include <sys/types.h> // uid_t
+
+using namespace Qt::StringLiterals;
+
+KCONFIGCORE_EXPORT bool kde_kiosk_exception = false; // flag to disable kiosk restrictions
+
+static QByteArray lookup(QByteArrayView fragment, QHash<QByteArrayView, QByteArray> *cache)
+{
+    auto it = cache->constFind(fragment);
+    if (it != cache->constEnd()) {
+        return it.value();
+    }
+
+    return cache->insert(fragment, fragment.toByteArray()).value();
+}
+
+QString KConfigIniBackend::warningProlog(const QFile &file, int line)
+{
+    // %2 then %1 i.e. int before QString, so that the QString is last
+    // This avoids a wrong substitution if the fileName itself contains %1
+    return QStringLiteral("KConfigIni: In file %2, line %1:").arg(line).arg(file.fileName());
+}
+
+KConfigIniBackend::KConfigIniBackend()
+    : lockFile(nullptr)
+{
+}
+
+KConfigIniBackend::ParseInfo KConfigIniBackend::parseConfig(const QByteArray &currentLocale, KEntryMap &entryMap, ParseOptions options)
+{
+    return parseConfig(currentLocale, entryMap, options, false);
+}
+
+// merging==true is the merging that happens at the beginning of writeConfig:
+// merge changes in the on-disk file with the changes in the KConfig object.
+KConfigIniBackend::ParseInfo KConfigIniBackend::parseConfig(const QByteArray &currentLocale, KEntryMap &entryMap, ParseOptions options, bool merging)
+{
+    if (filePath().isEmpty()) {
+        return ParseOk;
+    }
+
+    QFile file(filePath());
+    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+        return file.exists() ? ParseOpenError : ParseOk;
+    }
+
+    QList<QString> immutableGroups;
+
+    bool fileOptionImmutable = false;
+    bool groupOptionImmutable = false;
+    bool groupSkip = false;
+
+    int lineNo = 0;
+    // on systems using \r\n as end of line, \r will be taken care of by
+    // trim() below
+    QByteArray buffer = file.readAll();
+    QByteArrayView contents(buffer.data(), buffer.size());
+
+    const int langIdx = currentLocale.indexOf('_');
+    const QByteArray currentLanguage = langIdx >= 0 ? currentLocale.left(langIdx) : currentLocale;
+
+    QString currentGroup = QStringLiteral("<default>");
+    bool bDefault = options & ParseDefaults;
+    bool allowExecutableValues = options & ParseExpansions;
+
+    // Reduce memory overhead by making use of implicit sharing
+    // This assumes that config files contain only a small amount of
+    // different fragments which are repeated often.
+    // This is often the case, especially sub groups will all have
+    // the same list of keys and similar values as well.
+    QHash<QByteArrayView, QByteArray> cache;
+    cache.reserve(4096);
+
+    while (!contents.isEmpty()) {
+        QByteArrayView line;
+        if (const auto idx = contents.indexOf('\n'); idx < 0) {
+            line = contents;
+            contents = {};
+        } else {
+            line = contents.left(idx);
+            contents = contents.mid(idx + 1);
+        }
+        line = line.trimmed();
+        ++lineNo;
+
+        // skip empty lines and lines beginning with '#'
+        if (line.isEmpty() || line.at(0) == '#') {
+            continue;
+        }
+
+        if (line.at(0) == '[') { // found a group
+            groupOptionImmutable = fileOptionImmutable;
+
+            QByteArray newGroup;
+            int start = 1;
+            int end = 0;
+            do {
+                end = start;
+                for (;;) {
+                    if (end == line.length()) {
+                        qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid group header.";
+                        // XXX maybe reset the current group here?
+                        goto next_line;
+                    }
+                    if (line.at(end) == ']') {
+                        break;
+                    }
+                    ++end;
+                }
+                /* clang-format off */
+                if (end + 1 == line.length()
+                    && start + 2 == end
+                    && line.at(start) == '$'
+                    && line.at(start + 1) == 'i') { /* clang-format on */
+                    if (newGroup.isEmpty()) {
+                        fileOptionImmutable = !kde_kiosk_exception;
+                    } else {
+                        groupOptionImmutable = !kde_kiosk_exception;
+                    }
+                } else {
+                    if (!newGroup.isEmpty()) {
+                        newGroup += '\x1d';
+                    }
+                    QByteArrayView namePart = line.mid(start, end - start);
+                    printableToString(namePart, file, lineNo);
+                    newGroup += namePart.toByteArray();
+                }
+            } while ((start = end + 2) <= line.length() && line.at(end + 1) == '[');
+            currentGroup = QString::fromUtf8(newGroup);
+
+            groupSkip = entryMap.getEntryOption(currentGroup, {}, {}, KEntryMap::EntryImmutable);
+
+            if (groupSkip && !bDefault) {
+                continue;
+            }
+
+            if (groupOptionImmutable)
+            // Do not make the groups immutable until the entries from
+            // this file have been added.
+            {
+                immutableGroups.append(currentGroup);
+            }
+        } else {
+            if (groupSkip && !bDefault) {
+                continue; // skip entry
+            }
+
+            QByteArrayView aKey;
+            int eqpos = line.indexOf('=');
+            if (eqpos < 0) {
+                aKey = line;
+                line = {};
+            } else {
+                QByteArrayView temp = line.left(eqpos);
+                aKey = temp.trimmed();
+                line = line.mid(eqpos + 1);
+                line = line.trimmed();
+            }
+            if (aKey.isEmpty()) {
+                qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (empty key)";
+                continue;
+            }
+
+            KEntryMap::EntryOptions entryOptions = {};
+            if (groupOptionImmutable) {
+                entryOptions |= KEntryMap::EntryImmutable;
+            }
+
+            QByteArrayView locale;
+            int start;
+            while ((start = aKey.lastIndexOf('[')) >= 0) {
+                int end = aKey.indexOf(']', start);
+                if (end < 0) {
+                    qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (missing ']')";
+                    goto next_line;
+                } else if (end > start + 1 && aKey.at(start + 1) == '$') { // found option(s)
+                    int i = start + 2;
+                    while (i < end) {
+                        switch (aKey.at(i)) {
+                        case 'i':
+                            if (!kde_kiosk_exception) {
+                                entryOptions |= KEntryMap::EntryImmutable;
+                            }
+                            break;
+                        case 'e':
+                            if (allowExecutableValues) {
+                                entryOptions |= KEntryMap::EntryExpansion;
+                            }
+                            break;
+                        case 'd':
+                            entryOptions |= KEntryMap::EntryDeleted;
+                            aKey.truncate(start);
+                            printableToString(aKey, file, lineNo);
+                            entryMap.setEntry(currentGroup, aKey.toByteArray(), QByteArray(), entryOptions);
+                            goto next_line;
+                        default:
+                            break;
+                        }
+                        ++i;
+                    }
+                } else { // found a locale
+                    if (!locale.isNull()) {
+                        qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (second locale!?)";
+                        goto next_line;
+                    }
+
+                    locale = aKey.mid(start + 1, end - start - 1);
+                }
+                aKey.truncate(start);
+            }
+            if (eqpos < 0) { // Do this here after [$d] was checked
+                qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (missing '=')";
+                continue;
+            }
+            printableToString(aKey, file, lineNo);
+            if (!locale.isEmpty()) {
+                if (locale != currentLocale && locale != currentLanguage) {
+                    // backward compatibility. C == en_US
+                    if (locale.at(0) != 'C' || currentLocale != "en_US") {
+                        if (merging) {
+                            entryOptions |= KEntryMap::EntryRawKey;
+                        } else {
+                            goto next_line; // skip this entry if we're not merging
+                        }
+                    }
+                }
+            }
+
+            if (!(entryOptions & KEntryMap::EntryRawKey)) {
+                printableToString(aKey, file, lineNo);
+            }
+
+            if (options & ParseGlobal) {
+                entryOptions |= KEntryMap::EntryGlobal;
+            }
+            if (bDefault) {
+                entryOptions |= KEntryMap::EntryDefault;
+            }
+            if (!locale.isNull()) {
+                entryOptions |= KEntryMap::EntryLocalized;
+                if (locale.indexOf('_') != -1) {
+                    entryOptions |= KEntryMap::EntryLocalizedCountry;
+                }
+            }
+            printableToString(line, file, lineNo);
+            if (entryOptions & KEntryMap::EntryRawKey) {
+                QByteArray rawKey;
+                rawKey.reserve(aKey.length() + locale.length() + 2);
+                rawKey.append(aKey);
+                rawKey.append('[').append(locale).append(']');
+                entryMap.setEntry(currentGroup, rawKey, lookup(line, &cache), entryOptions);
+            } else {
+                entryMap.setEntry(currentGroup, lookup(aKey, &cache), lookup(line, &cache), entryOptions);
+            }
+        }
+    next_line:
+        continue;
+    }
+
+    // now make sure immutable groups are marked immutable
+    for (const QString &group : std::as_const(immutableGroups)) {
+        entryMap.setEntry(group, QByteArray(), QByteArray(), KEntryMap::EntryImmutable);
+    }
+
+    return fileOptionImmutable ? ParseImmutable : ParseOk;
+}
+
+void KConfigIniBackend::writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map, bool defaultGroup, bool &firstEntry)
+{
+    QString currentGroup;
+    bool groupIsImmutable = false;
+    for (const auto &[key, entry] : map) {
+        // Either process the default group or all others
+        if ((key.mGroup != QStringLiteral("<default>")) == defaultGroup) {
+            continue; // skip
+        }
+
+        // the only thing we care about groups is, is it immutable?
+        if (key.mKey.isNull()) {
+            groupIsImmutable = entry.bImmutable;
+            continue; // skip
+        }
+
+        const KEntry &currentEntry = entry;
+        if (!defaultGroup && currentGroup != key.mGroup) {
+            if (!firstEntry) {
+                file.putChar('\n');
+            }
+            currentGroup = key.mGroup;
+            for (int start = 0, end;; start = end + 1) {
+                file.putChar('[');
+                end = currentGroup.indexOf(QLatin1Char('\x1d'), start);
+                if (end < 0) {
+                    int cgl = currentGroup.length();
+                    if (currentGroup.at(start) == QLatin1Char('$') && cgl - start <= 10) {
+                        for (int i = start + 1; i < cgl; i++) {
+                            const QChar c = currentGroup.at(i);
+                            if (c < QLatin1Char('a') || c > QLatin1Char('z')) {
+                                goto nope;
+                            }
+                        }
+                        file.write("\\x24");
+                        ++start;
+                    }
+                nope:
+                    // TODO: make stringToPrintable also process QString, to save the conversion here and below
+                    file.write(stringToPrintable(QStringView(currentGroup).mid(start).toUtf8(), GroupString));
+                    file.putChar(']');
+                    if (groupIsImmutable) {
+                        file.write("[$i]", 4);
+                    }
+                    file.putChar('\n');
+                    break;
+                } else {
+                    file.write(stringToPrintable(QStringView(currentGroup).mid(start, end - start).toUtf8(), GroupString));
+                    file.putChar(']');
+                }
+            }
+        }
+
+        firstEntry = false;
+        // it is data for a group
+
+        if (key.bRaw) { // unprocessed key with attached locale from merge
+            file.write(key.mKey);
+        } else {
+            file.write(stringToPrintable(key.mKey, KeyString)); // Key
+            if (key.bLocal && locale != "C") { // 'C' locale == untranslated
+                file.putChar('[');
+                file.write(locale); // locale tag
+                file.putChar(']');
+            }
+        }
+        if (currentEntry.bDeleted) {
+            if (currentEntry.bImmutable) {
+                file.write("[$di]", 5); // Deleted + immutable
+            } else {
+                file.write("[$d]", 4); // Deleted
+            }
+        } else {
+            if (currentEntry.bImmutable || currentEntry.bExpand) {
+                file.write("[$", 2);
+                if (currentEntry.bImmutable) {
+                    file.putChar('i');
+                }
+                if (currentEntry.bExpand) {
+                    file.putChar('e');
+                }
+                file.putChar(']');
+            }
+            file.putChar('=');
+            file.write(stringToPrintable(currentEntry.mValue, ValueString));
+        }
+        file.putChar('\n');
+    }
+}
+
+void KConfigIniBackend::writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map)
+{
+    bool firstEntry = true;
+
+    // write default group
+    writeEntries(locale, file, map, true, firstEntry);
+
+    // write all other groups
+    writeEntries(locale, file, map, false, firstEntry);
+}
+
+bool KConfigIniBackend::writeConfig(const QByteArray &locale, KEntryMap &entryMap, WriteOptions options)
+{
+    Q_ASSERT(!filePath().isEmpty());
+
+    KEntryMap writeMap;
+    const bool bGlobal = options & WriteGlobal;
+
+    // First, reparse the file on disk, to merge our changes with the ones done by other apps
+    // Store the result into writeMap.
+    {
+        ParseOptions opts = ParseExpansions;
+        if (bGlobal) {
+            opts |= ParseGlobal;
+        }
+        ParseInfo info = parseConfig(locale, writeMap, opts, true);
+        if (info != ParseOk) { // either there was an error or the file became immutable
+            return false;
+        }
+    }
+
+    for (auto &[key, entry] : entryMap) {
+        if (!key.mKey.isEmpty() && !entry.bDirty) { // not dirty, doesn't overwrite entry in writeMap. skips default entries, too.
+            continue;
+        }
+
+        // only write entries that have the same "globality" as the file
+        if (entry.bGlobal == bGlobal) {
+            if (entry.bReverted && entry.bOverridesGlobal) {
+                entry.bDeleted = true;
+                writeMap[key] = entry;
+            } else if (entry.bReverted) {
+                writeMap.erase(key);
+            } else if (!entry.bDeleted) {
+                writeMap[key] = entry;
+            } else {
+                KEntryKey defaultKey = key;
+                defaultKey.bDefault = true;
+                if (entryMap.find(defaultKey) == entryMap.end() && !entry.bOverridesGlobal) {
+                    writeMap.erase(key); // remove the deleted entry if there is no default
+                    // qDebug() << "Detected as deleted=>removed:" << key.mGroup << key.mKey << "global=" << bGlobal;
+                } else {
+                    writeMap[key] = entry; // otherwise write an explicitly deleted entry
+                    // qDebug() << "Detected as deleted=>[$d]:" << key.mGroup << key.mKey << "global=" << bGlobal;
+                }
+            }
+            entry.bDirty = false;
+        }
+    }
+
+    // now writeMap should contain only entries to be written
+    // so write it out to disk
+
+    // check if file exists
+    QFile::Permissions fileMode = filePath().startsWith(u"/etc/xdg/"_s) ? QFile::ReadUser | QFile::WriteUser | QFile::ReadGroup | QFile::ReadOther //
+                                                                        : QFile::ReadUser | QFile::WriteUser;
+
+    bool createNew = true;
+
+    QFileInfo fi(filePath());
+    if (fi.exists()) {
+#ifdef Q_OS_WIN
+        // TODO: getuid does not exist on windows, use GetSecurityInfo and GetTokenInformation instead
+        createNew = false;
+#else
+        if (fi.ownerId() == ::getuid()) {
+            // Preserve file mode if file exists and is owned by user.
+            fileMode = fi.permissions();
+        } else {
+            // File is not owned by user:
+            // Don't create new file but write to existing file instead.
+            createNew = false;
+        }
+#endif
+    }
+
+    if (createNew) {
+        QSaveFile file(filePath());
+        if (!file.open(QIODevice::WriteOnly)) {
+#ifdef Q_OS_ANDROID
+            // HACK: when we are dealing with content:// URIs, QSaveFile has to rely on DirectWrite.
+            // Otherwise this method returns a false and we're done.
+            file.setDirectWriteFallback(true);
+            if (!file.open(QIODevice::WriteOnly)) {
+                qWarning(KCONFIG_CORE_LOG) << "Couldn't create a new file:" << filePath() << ". Error:" << file.errorString();
+                return false;
+            }
+#else
+            qWarning(KCONFIG_CORE_LOG) << "Couldn't create a new file:" << filePath() << ". Error:" << file.errorString();
+            return false;
+#endif
+        }
+
+        file.setTextModeEnabled(true); // to get eol translation
+        writeEntries(locale, file, writeMap);
+
+        if (!file.size() && (fileMode == (QFile::ReadUser | QFile::WriteUser))) {
+            // File is empty and doesn't have special permissions: delete it.
+            file.cancelWriting();
+
+            if (fi.exists()) {
+                // also remove the old file in case it existed. this can happen
+                // when we delete all the entries in an existing config file.
+                // if we don't do this, then deletions and revertToDefault's
+                // will mysteriously fail
+                QFile::remove(filePath());
+            }
+        } else {
+            // Normal case: Close the file
+            if (file.commit()) {
+                QFile::setPermissions(filePath(), fileMode);
+                return true;
+            }
+            // Couldn't write. Disk full?
+            qCWarning(KCONFIG_CORE_LOG) << "Couldn't write" << filePath() << ". Disk full?";
+            return false;
+        }
+    } else {
+        // Open existing file. *DON'T* create it if it suddenly does not exist!
+#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID)
+        int fd = QT_OPEN(QFile::encodeName(filePath()).constData(), O_WRONLY | O_TRUNC);
+        if (fd < 0) {
+            return false;
+        }
+        QFile f;
+        if (!f.open(fd, QIODevice::WriteOnly)) {
+            QT_CLOSE(fd);
+            return false;
+        }
+        writeEntries(locale, f, writeMap);
+        f.close();
+        QT_CLOSE(fd);
+#else
+        QFile f(filePath());
+        // XXX This is broken - it DOES create the file if it is suddenly gone.
+        if (!f.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
+            return false;
+        }
+        f.setTextModeEnabled(true);
+        writeEntries(locale, f, writeMap);
+#endif
+    }
+    return true;
+}
+
+bool KConfigIniBackend::isWritable() const
+{
+    const QString filePath = this->filePath();
+    if (filePath.isEmpty()) {
+        return false;
+    }
+
+    QFileInfo file(filePath);
+    if (file.exists()) {
+        return file.isWritable();
+    }
+
+    // If the file does not exist, check if the deepest existing dir is writable
+    QFileInfo dir(file.absolutePath());
+    while (!dir.exists()) {
+        QString parent = dir.absolutePath(); // Go up. Can't use cdUp() on non-existing dirs.
+        if (parent == dir.filePath()) {
+            // no parent
+            return false;
+        }
+        dir.setFile(parent);
+    }
+    return dir.isDir() && dir.isWritable();
+}
+
+QString KConfigIniBackend::nonWritableErrorMessage() const
+{
+    return tr("Configuration file \"%1\" not writable.\n").arg(filePath());
+}
+
+void KConfigIniBackend::createEnclosing()
+{
+    const QString file = filePath();
+    if (file.isEmpty()) {
+        return; // nothing to do
+    }
+
+    // Create the containing dir, maybe it wasn't there
+    QDir().mkpath(QFileInfo(file).absolutePath());
+}
+
+void KConfigIniBackend::setFilePath(const QString &path)
+{
+    if (path.isEmpty()) {
+        return;
+    }
+
+    Q_ASSERT(QDir::isAbsolutePath(path));
+
+    const QFileInfo info(path);
+    if (info.exists()) {
+        setLocalFilePath(info.canonicalFilePath());
+        return;
+    }
+
+    if (QString filePath = info.dir().canonicalPath(); !filePath.isEmpty()) {
+        filePath += QLatin1Char('/') + info.fileName();
+        setLocalFilePath(filePath);
+    } else {
+        setLocalFilePath(path);
+    }
+}
+
+KConfigBase::AccessMode KConfigIniBackend::accessMode() const
+{
+    if (filePath().isEmpty()) {
+        return KConfigBase::NoAccess;
+    }
+
+    if (isWritable()) {
+        return KConfigBase::ReadWrite;
+    }
+
+    return KConfigBase::ReadOnly;
+}
+
+bool KConfigIniBackend::lock()
+{
+    Q_ASSERT(!filePath().isEmpty());
+
+    m_mutex.lock();
+#ifdef Q_OS_ANDROID
+    if (!lockFile) {
+        // handle content Uris properly
+        if (filePath().startsWith(QLatin1String("content://"))) {
+            // we can't create file at an arbitrary location, so use internal storage to create one
+
+            // NOTE: filename can be the same, but because this lock is short lived we may never have a collision
+            lockFile = new QLockFile(QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/")
+                                     + QFileInfo(filePath()).fileName() + QLatin1String(".lock"));
+        } else {
+            lockFile = new QLockFile(filePath() + QLatin1String(".lock"));
+        }
+    }
+#else
+    if (!lockFile) {
+        lockFile = new QLockFile(filePath() + QLatin1String(".lock"));
+    }
+#endif
+
+    if (!lockFile->lock()) {
+        m_mutex.unlock();
+    }
+
+    return lockFile->isLocked();
+}
+
+void KConfigIniBackend::unlock()
+{
+    lockFile->unlock();
+    delete lockFile;
+    lockFile = nullptr;
+    m_mutex.unlock();
+}
+
+bool KConfigIniBackend::isLocked() const
+{
+    return lockFile && lockFile->isLocked();
+}
+
+namespace
+{
+// serialize an escaped byte at the end of @param data
+// @param data should have room for 4 bytes
+char *escapeByte(char *data, unsigned char s)
+{
+    static const char nibbleLookup[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+    *data++ = '\\';
+    *data++ = 'x';
+    *data++ = nibbleLookup[s >> 4];
+    *data++ = nibbleLookup[s & 0x0f];
+    return data;
+}
+
+// Struct that represents a multi-byte UTF-8 character.
+// This struct is used to keep track of bytes that seem to be valid
+// UTF-8.
+struct Utf8Char {
+public:
+    unsigned char bytes[4];
+    unsigned char count;
+    unsigned char charLength;
+
+    Utf8Char()
+    {
+        clear();
+        charLength = 0;
+    }
+    void clear()
+    {
+        count = 0;
+    }
+    // Add a byte to the UTF8 character.
+    // When an additional byte leads to an invalid character, return false.
+    bool addByte(unsigned char b)
+    {
+        if (count == 0) {
+            if (b > 0xc1 && (b & 0xe0) == 0xc0) {
+                charLength = 2;
+            } else if ((b & 0xf0) == 0xe0) {
+                charLength = 3;
+            } else if (b < 0xf5 && (b & 0xf8) == 0xf0) {
+                charLength = 4;
+            } else {
+                return false;
+            }
+            bytes[0] = b;
+            count = 1;
+        } else if (count < 4 && (b & 0xc0) == 0x80) {
+            if (count == 1) {
+                if (charLength == 3 && bytes[0] == 0xe0 && b < 0xa0) {
+                    return false; // overlong 3 byte sequence
+                }
+                if (charLength == 4) {
+                    if (bytes[0] == 0xf0 && b < 0x90) {
+                        return false; // overlong 4 byte sequence
+                    }
+                    if (bytes[0] == 0xf4 && b > 0x8f) {
+                        return false; // Unicode value larger than U+10FFFF
+                    }
+                }
+            }
+            bytes[count++] = b;
+        } else {
+            return false;
+        }
+        return true;
+    }
+    // Return true if Utf8Char contains one valid character.
+    bool isComplete() const
+    {
+        return count > 0 && count == charLength;
+    }
+    // Add the bytes in this UTF8 character in escaped form to data.
+    char *escapeBytes(char *data)
+    {
+        for (unsigned char i = 0; i < count; ++i) {
+            data = escapeByte(data, bytes[i]);
+        }
+        clear();
+        return data;
+    }
+    // Add the bytes of the UTF8 character to a buffer.
+    // Only call this if isComplete() returns true.
+    char *writeUtf8(char *data)
+    {
+        for (unsigned char i = 0; i < count; ++i) {
+            *data++ = bytes[i];
+        }
+        clear();
+        return data;
+    }
+    // Write the bytes in the UTF8 character literally, or, if the
+    // character is not complete, write the escaped bytes.
+    // This is useful to handle the state that remains after handling
+    // all bytes in a buffer.
+    char *write(char *data)
+    {
+        if (isComplete()) {
+            data = writeUtf8(data);
+        } else {
+            data = escapeBytes(data);
+        }
+        return data;
+    }
+};
+}
+
+QByteArray KConfigIniBackend::stringToPrintable(const QByteArray &aString, StringType type)
+{
+    const int len = aString.size();
+    if (len == 0) {
+        return aString;
+    }
+
+    QByteArray result; // Guesstimated that it's good to avoid data() initialization for a length of len*4
+    result.resize(len * 4); // Maximum 4x as long as source string due to \x<ab> escape sequences
+    const char *s = aString.constData();
+    int i = 0;
+    char *data = result.data();
+    char *start = data;
+
+    // Protect leading space
+    if (s[0] == ' ' && type != GroupString) {
+        *data++ = '\\';
+        *data++ = 's';
+        ++i;
+    }
+    Utf8Char utf8;
+
+    for (; i < len; ++i) {
+        switch (s[i]) {
+        default:
+            if (utf8.addByte(s[i])) {
+                break;
+            } else {
+                data = utf8.escapeBytes(data);
+            }
+            // The \n, \t, \r cases (all < 32) are handled below; we can ignore them here
+            if (((unsigned char)s[i]) < 32) {
+                goto doEscape;
+            }
+            // GroupString and KeyString should be valid UTF-8, but ValueString
+            // can be a bytearray with non-UTF-8 bytes that should be escaped.
+            if (type == ValueString && ((unsigned char)s[i]) >= 127) {
+                goto doEscape;
+            }
+            *data++ = s[i];
+            break;
+        case '\n':
+            *data++ = '\\';
+            *data++ = 'n';
+            break;
+        case '\t':
+            *data++ = '\\';
+            *data++ = 't';
+            break;
+        case '\r':
+            *data++ = '\\';
+            *data++ = 'r';
+            break;
+        case '\\':
+            *data++ = '\\';
+            *data++ = '\\';
+            break;
+        case '=':
+            if (type != KeyString) {
+                *data++ = s[i];
+                break;
+            }
+            goto doEscape;
+        case '[':
+        case ']':
+            // Above chars are OK to put in *value* strings as plaintext
+            if (type == ValueString) {
+                *data++ = s[i];
+                break;
+            }
+        doEscape:
+            data = escapeByte(data, s[i]);
+            break;
+        }
+        if (utf8.isComplete()) {
+            data = utf8.writeUtf8(data);
+        }
+    }
+    data = utf8.write(data);
+    *data = 0;
+    result.resize(data - start);
+
+    // Protect trailing space
+    if (result.endsWith(' ') && type != GroupString) {
+        result.replace(result.length() - 1, 1, "\\s");
+    }
+
+    return result;
+}
+
+char KConfigIniBackend::charFromHex(const char *str, const QFile &file, int line)
+{
+    unsigned char ret = 0;
+    for (int i = 0; i < 2; i++) {
+        ret <<= 4;
+        quint8 c = quint8(str[i]);
+
+        if (c >= '0' && c <= '9') {
+            ret |= c - '0';
+        } else if (c >= 'a' && c <= 'f') {
+            ret |= c - 'a' + 0x0a;
+        } else if (c >= 'A' && c <= 'F') {
+            ret |= c - 'A' + 0x0a;
+        } else {
+            QByteArray e(str, 2);
+            e.prepend("\\x");
+            qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, line) << "Invalid hex character " << c << " in \\x<nn>-type escape sequence \"" << e.constData()
+                                        << "\".";
+            return 'x';
+        }
+    }
+    return char(ret);
+}
+
+void KConfigIniBackend::printableToString(QByteArrayView &aString, const QFile &file, int line)
+{
+    if (aString.isEmpty() || aString.indexOf('\\') == -1) {
+        return;
+    }
+    aString = aString.trimmed();
+    int l = aString.size();
+    char *r = const_cast<char *>(aString.data());
+    char *str = r;
+
+    for (int i = 0; i < l; i++, r++) {
+        if (str[i] != '\\') {
+            *r = str[i];
+        } else {
+            // Probable escape sequence
+            ++i;
+            if (i >= l) { // Line ends after backslash - stop.
+                *r = '\\';
+                break;
+            }
+
+            switch (str[i]) {
+            case 's':
+                *r = ' ';
+                break;
+            case 't':
+                *r = '\t';
+                break;
+            case 'n':
+                *r = '\n';
+                break;
+            case 'r':
+                *r = '\r';
+                break;
+            case '\\':
+                *r = '\\';
+                break;
+            case ';':
+                // not really an escape sequence, but allowed in .desktop files, don't strip '\;' from the string
+                *r = '\\';
+                ++r;
+                *r = ';';
+                break;
+            case ',':
+                // not really an escape sequence, but allowed in .desktop files, don't strip '\,' from the string
+                *r = '\\';
+                ++r;
+                *r = ',';
+                break;
+            case 'x':
+                if (i + 2 < l) {
+                    *r = charFromHex(str + i + 1, file, line);
+                    i += 2;
+                } else {
+                    *r = 'x';
+                    i = l - 1;
+                }
+                break;
+            default:
+                *r = '\\';
+                qCWarning(KCONFIG_CORE_LOG).noquote() << warningProlog(file, line) << QStringLiteral("Invalid escape sequence: «\\%1»").arg(str[i]);
+            }
+        }
+    }
+    aString.truncate(r - aString.constData());
+}
+
+QString KConfigIniBackend::filePath() const
+{
+    return mLocalFilePath;
+}
+
+void KConfigIniBackend::setLocalFilePath(const QString &file)
+{
+    mLocalFilePath = file;
+}
+
+#include "moc_kconfigini_p.cpp"
diff --git a/src/core/kconfigini_p.h b/src/core/kconfigini_p.h
new file mode 100644 (file)
index 0000000..2621dc4
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+   This file is part of the KDE libraries
+   SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+   SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+   SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+   SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGINI_P_H
+#define KCONFIGINI_P_H
+
+#include <QCoreApplication>
+#include <QFile>
+#include <QMutex>
+#include <QSharedData>
+#include <kconfigbase.h>
+#include <kconfigcore_export.h>
+
+class QLockFile;
+class QIODevice;
+class KEntryMap;
+
+class KConfigIniBackend : public QSharedData
+{
+    Q_GADGET
+    Q_DECLARE_TR_FUNCTIONS(KConfigIniBackend)
+
+private:
+    QLockFile *lockFile;
+    QMutex m_mutex;
+
+public:
+    KConfigIniBackend();
+
+    /** Allows the behaviour of parseConfig() to be tuned */
+    enum ParseOption {
+        ParseGlobal = 1, /// entries should be marked as @em global
+        ParseDefaults = 2, /// entries should be marked as @em default
+        ParseExpansions = 4, /// entries are allowed to be marked as @em expandable
+    };
+    Q_FLAG(ParseOption)
+    /// @typedef typedef QFlags<ParseOption> ParseOptions
+    Q_DECLARE_FLAGS(ParseOptions, ParseOption)
+
+    /** Allows the behaviour of writeConfig() to be tuned */
+    enum WriteOption {
+        WriteGlobal = 1 /// only write entries marked as "global"
+    };
+    Q_FLAG(WriteOption)
+    /// @typedef typedef QFlags<WriteOption> WriteOptions
+    Q_DECLARE_FLAGS(WriteOptions, WriteOption)
+
+    /** Return value from parseConfig() */
+    enum ParseInfo {
+        ParseOk, /// the configuration was opened read/write
+        ParseImmutable, /// the configuration is @em immutable
+        ParseOpenError, /// the configuration could not be opened
+    };
+
+    ParseInfo parseConfig(const QByteArray &locale, KEntryMap &entryMap, ParseOptions options);
+    ParseInfo parseConfig(const QByteArray &locale, KEntryMap &entryMap, ParseOptions options, bool merging);
+    bool writeConfig(const QByteArray &locale, KEntryMap &entryMap, WriteOptions options);
+
+    bool isWritable() const;
+    QString nonWritableErrorMessage() const;
+    KConfigBase::AccessMode accessMode() const;
+    void createEnclosing();
+    void setFilePath(const QString &path);
+    bool lock();
+    void unlock();
+    bool isLocked() const;
+
+    /** @return the absolute path to the object */
+    QString filePath() const;
+
+private:
+    enum StringType {
+        GroupString = 0,
+        KeyString = 1,
+        ValueString = 2,
+    };
+    // Warning: this modifies data in-place. Other QByteArrayView objects referencing the same buffer
+    // fragment will get their data modified too.
+    static void printableToString(QByteArrayView &aString, const QFile &file, int line);
+    static QByteArray stringToPrintable(const QByteArray &aString, StringType type);
+    static char charFromHex(const char *str, const QFile &file, int line);
+    static QString warningProlog(const QFile &file, int line);
+
+    void writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map);
+    void writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map, bool defaultGroup, bool &firstEntry);
+
+    void setLocalFilePath(const QString &file);
+
+    QString mLocalFilePath;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigIniBackend::ParseOptions)
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigIniBackend::WriteOptions)
+
+#endif // KCONFIGINI_P_H
diff --git a/src/core/kconfigwatcher.cpp b/src/core/kconfigwatcher.cpp
new file mode 100644 (file)
index 0000000..4feb9b5
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+    SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
+    SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigwatcher.h"
+
+#include "config-kconfig.h"
+#include "kconfig_core_log_settings.h"
+
+#if KCONFIG_USE_DBUS
+#include <QDBusConnection>
+#include <QDBusMessage>
+#include <QDBusMetaType>
+
+#include "dbussanitizer_p.h"
+#endif
+
+#include <QDebug>
+#include <QHash>
+#include <QThreadStorage>
+
+class KConfigWatcherPrivate
+{
+public:
+    KSharedConfig::Ptr m_config;
+};
+
+KConfigWatcher::Ptr KConfigWatcher::create(const KSharedConfig::Ptr &config)
+{
+    static QThreadStorage<QHash<KSharedConfig *, QWeakPointer<KConfigWatcher>>> watcherList;
+
+    auto c = config.data();
+    KConfigWatcher::Ptr watcher;
+
+    if (!watcherList.localData().contains(c)) {
+        watcher = KConfigWatcher::Ptr(new KConfigWatcher(config));
+
+        watcherList.localData().insert(c, watcher.toWeakRef());
+
+        QObject::connect(watcher.data(), &QObject::destroyed, [c]() {
+            watcherList.localData().remove(c);
+        });
+    }
+    return watcherList.localData().value(c).toStrongRef();
+}
+
+KConfigWatcher::KConfigWatcher(const KSharedConfig::Ptr &config)
+    : QObject(nullptr)
+    , d(new KConfigWatcherPrivate)
+{
+    Q_ASSERT(config);
+    d->m_config = config;
+    if (config->name().isEmpty()) {
+        return;
+    }
+
+    // Watching absolute paths is not supported and also makes no sense.
+    const bool isAbsolutePath = config->name().at(0) == QLatin1Char('/');
+    if (isAbsolutePath) {
+        qCWarning(KCONFIG_CORE_LOG) << "Watching absolute paths is not supported" << config->name();
+        return;
+    }
+
+#if KCONFIG_USE_DBUS
+    qDBusRegisterMetaType<QByteArrayList>();
+    qDBusRegisterMetaType<QHash<QString, QByteArrayList>>();
+
+    QStringList watchedPaths = d->m_config->additionalConfigSources();
+    for (QString &file : watchedPaths) {
+        file.prepend(QLatin1Char('/'));
+    }
+    watchedPaths.prepend(kconfigDBusSanitizePath(QLatin1Char('/') + d->m_config->name()));
+
+    if (d->m_config->openFlags() & KConfig::IncludeGlobals) {
+        watchedPaths << QStringLiteral("/kdeglobals");
+    }
+
+    for (const QString &path : std::as_const(watchedPaths)) {
+        QDBusConnection::sessionBus().connect(QString(),
+                                              path,
+                                              QStringLiteral("org.kde.kconfig.notify"),
+                                              QStringLiteral("ConfigChanged"),
+                                              this,
+                                              // clang-format off
+                                              SLOT(onConfigChangeNotification(QHash<QString,QByteArrayList>))
+                                              // clang-format on
+        );
+    }
+#endif
+}
+
+KConfigWatcher::~KConfigWatcher() = default;
+
+KSharedConfig::Ptr KConfigWatcher::config() const
+{
+    return d->m_config;
+}
+
+void KConfigWatcher::onConfigChangeNotification(const QHash<QString, QByteArrayList> &changes)
+{
+    // should we ever need it we can determine the file changed with  QDbusContext::message().path(), but it doesn't seem too useful
+
+    d->m_config->reparseConfiguration();
+
+    for (auto it = changes.constBegin(); it != changes.constEnd(); it++) {
+        KConfigGroup group = d->m_config->group(QString()); // top level group
+        const auto parts = it.key().split(QLatin1Char('\x1d')); // magic char, see KConfig
+        for (const QString &groupName : parts) {
+            group = group.group(groupName);
+        }
+        Q_EMIT configChanged(group, it.value());
+    }
+}
+
+#include "moc_kconfigwatcher.cpp"
diff --git a/src/core/kconfigwatcher.h b/src/core/kconfigwatcher.h
new file mode 100644 (file)
index 0000000..d811440
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+    SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGWATCHER_H
+#define KCONFIGWATCHER_H
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include <KConfigGroup>
+#include <KSharedConfig>
+
+#include <kconfigcore_export.h>
+
+class KConfigWatcherPrivate;
+
+/**
+ * \class KConfigWatcher kconfigwatcher.h <KConfigWatcher>
+ *
+ * Notifies when another client has updated this config file with the Notify flag set.
+ * @since 5.51
+ */
+class KCONFIGCORE_EXPORT KConfigWatcher : public QObject
+{
+    Q_OBJECT
+public:
+    typedef QSharedPointer<KConfigWatcher> Ptr;
+
+    /**
+     * Instantiate a ConfigWatcher for a given config
+     *
+     * @note any additional config sources should be set before this point.
+     */
+    static Ptr create(const KSharedConfig::Ptr &config);
+
+    ~KConfigWatcher() override;
+
+    /**
+     * Returns the config being watched
+     * @since 5.66
+     */
+    KSharedConfig::Ptr config() const;
+
+Q_SIGNALS:
+    /**
+     * Emitted when a config group has changed
+     * The config will be reloaded before this signal is emitted
+     *
+     * @arg group the config group that has changed
+     * @arg names a list of entries that have changed within that group (UTF-8 encoded)
+     */
+    void configChanged(const KConfigGroup &group, const QByteArrayList &names);
+
+private Q_SLOTS:
+    KCONFIGCORE_NO_EXPORT void onConfigChangeNotification(const QHash<QString, QByteArrayList> &changes);
+
+private:
+    KCONFIGCORE_NO_EXPORT explicit KConfigWatcher(const KSharedConfig::Ptr &config);
+    Q_DISABLE_COPY(KConfigWatcher)
+    const QScopedPointer<KConfigWatcherPrivate> d;
+};
+
+#endif
diff --git a/src/core/kcoreconfigskeleton.cpp b/src/core/kcoreconfigskeleton.cpp
new file mode 100644 (file)
index 0000000..6dac0d1
--- /dev/null
@@ -0,0 +1,1683 @@
+/*
+    This file is part of KOrganizer.
+    SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kcoreconfigskeleton.h"
+#include "kcoreconfigskeleton_p.h"
+
+#include <QUrl>
+
+#include <algorithm>
+
+static QString obscuredString(const QString &str)
+{
+    QString result;
+    const QChar *unicode = str.unicode();
+    for (int i = 0; i < str.length(); ++i) {
+        // yes, no typo. can't encode ' ' or '!' because
+        // they're the unicode BOM. stupid scrambling. stupid.
+        result += (unicode[i].unicode() <= 0x21) ? unicode[i] : QChar(0x1001F - unicode[i].unicode());
+    }
+
+    return result;
+}
+
+KConfigSkeletonItemPrivate::~KConfigSkeletonItemPrivate() = default;
+
+KConfigSkeletonItem::KConfigSkeletonItem(const QString &_group, const QString &_key)
+    : mGroup(_group)
+    , mKey(_key)
+    , d_ptr(new KConfigSkeletonItemPrivate)
+{
+}
+
+KConfigSkeletonItem::KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key)
+    : mGroup(_group)
+    , mKey(_key)
+    , d_ptr(&dd)
+{
+}
+
+KConfigSkeletonItem::~KConfigSkeletonItem()
+{
+    delete d_ptr;
+}
+
+void KConfigSkeletonItem::setGroup(const QString &_group)
+{
+    mGroup = _group;
+}
+
+void KConfigSkeletonItem::setGroup(const KConfigGroup &cg)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mConfigGroup = cg;
+}
+
+KConfigGroup KConfigSkeletonItem::configGroup(KConfig *config) const
+{
+    Q_D(const KConfigSkeletonItem);
+    if (d->mConfigGroup.isValid()) {
+        return d->mConfigGroup;
+    }
+    return KConfigGroup(config, mGroup);
+}
+
+QString KConfigSkeletonItem::group() const
+{
+    return mGroup;
+}
+
+void KConfigSkeletonItem::setKey(const QString &_key)
+{
+    mKey = _key;
+}
+
+QString KConfigSkeletonItem::key() const
+{
+    return mKey;
+}
+
+void KConfigSkeletonItem::setName(const QString &_name)
+{
+    mName = _name;
+}
+
+QString KConfigSkeletonItem::name() const
+{
+    return mName;
+}
+
+void KConfigSkeletonItem::setLabel(const QString &l)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mLabel = l;
+}
+
+QString KConfigSkeletonItem::label() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mLabel;
+}
+
+void KConfigSkeletonItem::setToolTip(const QString &t)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mToolTip = t;
+}
+
+QString KConfigSkeletonItem::toolTip() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mToolTip;
+}
+
+void KConfigSkeletonItem::setWhatsThis(const QString &w)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mWhatsThis = w;
+}
+
+QString KConfigSkeletonItem::whatsThis() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mWhatsThis;
+}
+
+void KConfigSkeletonItem::setWriteFlags(KConfigBase::WriteConfigFlags flags)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mWriteFlags = flags;
+}
+
+KConfigBase::WriteConfigFlags KConfigSkeletonItem::writeFlags() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mWriteFlags;
+}
+
+QVariant KConfigSkeletonItem::minValue() const
+{
+    return QVariant();
+}
+
+QVariant KConfigSkeletonItem::maxValue() const
+{
+    return QVariant();
+}
+
+bool KConfigSkeletonItem::isImmutable() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mIsImmutable;
+}
+
+bool KConfigSkeletonItem::isDefault() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mIsDefaultImpl();
+}
+
+bool KConfigSkeletonItem::isSaveNeeded() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mIsSaveNeededImpl();
+}
+
+QVariant KConfigSkeletonItem::getDefault() const
+{
+    Q_D(const KConfigSkeletonItem);
+    return d->mGetDefaultImpl();
+}
+
+void KConfigSkeletonItem::readImmutability(const KConfigGroup &group)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mIsImmutable = group.isEntryImmutable(mKey);
+}
+
+void KConfigSkeletonItem::setIsDefaultImpl(const std::function<bool()> &impl)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mIsDefaultImpl = impl;
+}
+
+void KConfigSkeletonItem::setIsSaveNeededImpl(const std::function<bool()> &impl)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mIsSaveNeededImpl = impl;
+}
+
+void KConfigSkeletonItem::setGetDefaultImpl(const std::function<QVariant()> &impl)
+{
+    Q_D(KConfigSkeletonItem);
+    d->mGetDefaultImpl = impl;
+}
+
+KPropertySkeletonItem::KPropertySkeletonItem(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue)
+    : KConfigSkeletonItem(*new KPropertySkeletonItemPrivate(object, propertyName, defaultValue), {}, {})
+{
+    setIsDefaultImpl([this] {
+        Q_D(const KPropertySkeletonItem);
+        return d->mReference == d->mDefaultValue;
+    });
+    setIsSaveNeededImpl([this] {
+        Q_D(const KPropertySkeletonItem);
+        return d->mReference != d->mLoadedValue;
+    });
+    setGetDefaultImpl([this] {
+        Q_D(const KPropertySkeletonItem);
+        return d->mDefaultValue;
+    });
+}
+
+QVariant KPropertySkeletonItem::property() const
+{
+    Q_D(const KPropertySkeletonItem);
+    return d->mReference;
+}
+
+void KPropertySkeletonItem::setProperty(const QVariant &p)
+{
+    Q_D(KPropertySkeletonItem);
+    if (d->mReference == p) {
+        return;
+    }
+    d->mReference = p;
+    if (d->mNotifyFunction) {
+        d->mNotifyFunction();
+    }
+}
+
+bool KPropertySkeletonItem::isEqual(const QVariant &p) const
+{
+    Q_D(const KPropertySkeletonItem);
+    return d->mReference == p;
+}
+
+void KPropertySkeletonItem::readConfig(KConfig *)
+{
+    Q_D(KPropertySkeletonItem);
+    setProperty(d->mObject->property(d->mPropertyName.constData()));
+    d->mLoadedValue = d->mReference;
+}
+
+void KPropertySkeletonItem::writeConfig(KConfig *)
+{
+    Q_D(KPropertySkeletonItem);
+    d->mObject->setProperty(d->mPropertyName.constData(), d->mReference);
+    d->mLoadedValue = d->mReference;
+}
+
+void KPropertySkeletonItem::readDefault(KConfig *)
+{
+    Q_D(KPropertySkeletonItem);
+    setProperty(d->mConstDefaultValue);
+}
+
+void KPropertySkeletonItem::setDefault()
+{
+    Q_D(KPropertySkeletonItem);
+    setProperty(d->mDefaultValue);
+}
+
+void KPropertySkeletonItem::swapDefault()
+{
+    Q_D(KPropertySkeletonItem);
+    if (d->mReference == d->mDefaultValue) {
+        return;
+    }
+    std::swap(d->mReference, d->mDefaultValue);
+    if (d->mNotifyFunction) {
+        d->mNotifyFunction();
+    }
+}
+
+void KPropertySkeletonItem::setNotifyFunction(const std::function<void()> &impl)
+{
+    Q_D(KPropertySkeletonItem);
+    d->mNotifyFunction = impl;
+}
+
+KCoreConfigSkeleton::ItemString::ItemString(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue, Type type)
+    : KConfigSkeletonGenericItem<QString>(_group, _key, reference, defaultValue)
+    , mType(type)
+{
+}
+
+void KCoreConfigSkeleton::ItemString::writeConfig(KConfig *config)
+{
+    if (mReference != mLoadedValue) { // WABA: Is this test needed?
+        KConfigGroup cg = configGroup(config);
+        if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+            cg.revertToDefault(mKey, writeFlags());
+        } else if (mType == Path) {
+            cg.writePathEntry(mKey, mReference, writeFlags());
+        } else if (mType == Password) {
+            cg.writeEntry(mKey, obscuredString(mReference), writeFlags());
+        } else {
+            cg.writeEntry(mKey, mReference, writeFlags());
+        }
+        mLoadedValue = mReference;
+    }
+}
+
+void KCoreConfigSkeleton::ItemString::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+
+    if (mType == Path) {
+        mReference = cg.readPathEntry(mKey, mDefault);
+    } else if (mType == Password) {
+        QString val = cg.readEntry(mKey, obscuredString(mDefault));
+        mReference = obscuredString(val);
+    } else {
+        mReference = cg.readEntry(mKey, mDefault);
+    }
+
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemString::setProperty(const QVariant &p)
+{
+    mReference = p.toString();
+}
+
+bool KCoreConfigSkeleton::ItemString::isEqual(const QVariant &v) const
+{
+    return mReference == v.toString();
+}
+
+QVariant KCoreConfigSkeleton::ItemString::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPassword::ItemPassword(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue)
+    : ItemString(_group, _key, reference, defaultValue, Password)
+{
+}
+
+KCoreConfigSkeleton::ItemPath::ItemPath(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue)
+    : ItemString(_group, _key, reference, defaultValue, Path)
+{
+}
+
+KCoreConfigSkeleton::ItemUrl::ItemUrl(const QString &_group, const QString &_key, QUrl &reference, const QUrl &defaultValue)
+    : KConfigSkeletonGenericItem<QUrl>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemUrl::writeConfig(KConfig *config)
+{
+    if (mReference != mLoadedValue) { // WABA: Is this test needed?
+        KConfigGroup cg = configGroup(config);
+        if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+            cg.revertToDefault(mKey, writeFlags());
+        } else {
+            cg.writeEntry<QString>(mKey, mReference.toString(), writeFlags());
+        }
+        mLoadedValue = mReference;
+    }
+}
+
+void KCoreConfigSkeleton::ItemUrl::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+
+    mReference = QUrl(cg.readEntry<QString>(mKey, mDefault.toString()));
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUrl::setProperty(const QVariant &p)
+{
+    mReference = qvariant_cast<QUrl>(p);
+}
+
+bool KCoreConfigSkeleton::ItemUrl::isEqual(const QVariant &v) const
+{
+    return mReference == qvariant_cast<QUrl>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemUrl::property() const
+{
+    return QVariant::fromValue<QUrl>(mReference);
+}
+
+KCoreConfigSkeleton::ItemProperty::ItemProperty(const QString &_group, const QString &_key, QVariant &reference, const QVariant &defaultValue)
+    : KConfigSkeletonGenericItem<QVariant>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemProperty::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemProperty::setProperty(const QVariant &p)
+{
+    mReference = p;
+}
+
+bool KCoreConfigSkeleton::ItemProperty::isEqual(const QVariant &v) const
+{
+    // this might cause problems if the QVariants are not of default types
+    return mReference == v;
+}
+
+QVariant KCoreConfigSkeleton::ItemProperty::property() const
+{
+    return mReference;
+}
+
+KCoreConfigSkeleton::ItemBool::ItemBool(const QString &_group, const QString &_key, bool &reference, bool defaultValue)
+    : KConfigSkeletonGenericItem<bool>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemBool::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemBool::setProperty(const QVariant &p)
+{
+    mReference = p.toBool();
+}
+
+bool KCoreConfigSkeleton::ItemBool::isEqual(const QVariant &v) const
+{
+    return mReference == v.toBool();
+}
+
+QVariant KCoreConfigSkeleton::ItemBool::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemInt::ItemInt(const QString &_group, const QString &_key, qint32 &reference, qint32 defaultValue)
+    : KConfigSkeletonGenericItem<qint32>(_group, _key, reference, defaultValue)
+    , mHasMin(false)
+    , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemInt::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    if (mHasMin) {
+        mReference = qMax(mReference, mMin);
+    }
+    if (mHasMax) {
+        mReference = qMin(mReference, mMax);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemInt::setProperty(const QVariant &p)
+{
+    mReference = p.toInt();
+}
+
+bool KCoreConfigSkeleton::ItemInt::isEqual(const QVariant &v) const
+{
+    return mReference == v.toInt();
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::property() const
+{
+    return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::minValue() const
+{
+    if (mHasMin) {
+        return QVariant(mMin);
+    }
+    return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::maxValue() const
+{
+    if (mHasMax) {
+        return QVariant(mMax);
+    }
+    return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemInt::setMinValue(qint32 v)
+{
+    mHasMin = true;
+    mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemInt::setMaxValue(qint32 v)
+{
+    mHasMax = true;
+    mMax = v;
+}
+
+KCoreConfigSkeleton::ItemLongLong::ItemLongLong(const QString &_group, const QString &_key, qint64 &reference, qint64 defaultValue)
+    : KConfigSkeletonGenericItem<qint64>(_group, _key, reference, defaultValue)
+    , mHasMin(false)
+    , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemLongLong::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    if (mHasMin) {
+        mReference = qMax(mReference, mMin);
+    }
+    if (mHasMax) {
+        mReference = qMin(mReference, mMax);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setProperty(const QVariant &p)
+{
+    mReference = p.toLongLong();
+}
+
+bool KCoreConfigSkeleton::ItemLongLong::isEqual(const QVariant &v) const
+{
+    return mReference == v.toLongLong();
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::property() const
+{
+    return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::minValue() const
+{
+    if (mHasMin) {
+        return QVariant(mMin);
+    }
+    return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::maxValue() const
+{
+    if (mHasMax) {
+        return QVariant(mMax);
+    }
+    return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setMinValue(qint64 v)
+{
+    mHasMin = true;
+    mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setMaxValue(qint64 v)
+{
+    mHasMax = true;
+    mMax = v;
+}
+
+QString KCoreConfigSkeleton::ItemEnum::valueForChoice(const QString &name) const
+{
+    for (auto it = mChoices.cbegin(); it != mChoices.cend(); ++it) {
+        if (it->name == name) {
+            return it->value.isEmpty() ? it->name : it->value;
+        }
+    }
+    return name;
+}
+
+void KCoreConfigSkeleton::ItemEnum::setValueForChoice(const QString &name, const QString &value)
+{
+    for (auto it = mChoices.begin(); it != mChoices.end(); ++it) {
+        if (it->name == name) {
+            it->value = value;
+            return;
+        }
+    }
+}
+
+KCoreConfigSkeleton::ItemEnum::ItemEnum(const QString &_group, const QString &_key, qint32 &reference, const QList<Choice> &choices, qint32 defaultValue)
+    : ItemInt(_group, _key, reference, defaultValue)
+    , mChoices(choices)
+{
+}
+
+void KCoreConfigSkeleton::ItemEnum::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    if (!cg.hasKey(mKey)) {
+        mReference = mDefault;
+    } else {
+        int i = 0;
+        mReference = -1;
+        const QString entryString = cg.readEntry(mKey, QString());
+        for (auto it = mChoices.cbegin(); it != mChoices.cend(); ++it, ++i) {
+            QString choiceName = (*it).name;
+            if (valueForChoice(choiceName).compare(entryString, Qt::CaseInsensitive) == 0) {
+                mReference = i;
+                break;
+            }
+        }
+        if (mReference == -1) {
+            mReference = cg.readEntry(mKey, mDefault);
+        }
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemEnum::writeConfig(KConfig *config)
+{
+    if (mReference != mLoadedValue) { // WABA: Is this test needed?
+        KConfigGroup cg = configGroup(config);
+        if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+            cg.revertToDefault(mKey, writeFlags());
+        } else if ((mReference >= 0) && (mReference < mChoices.count())) {
+            cg.writeEntry(mKey, valueForChoice(mChoices.at(mReference).name), writeFlags());
+        } else {
+            cg.writeEntry(mKey, mReference, writeFlags());
+        }
+        mLoadedValue = mReference;
+    }
+}
+
+QList<KCoreConfigSkeleton::ItemEnum::Choice> KCoreConfigSkeleton::ItemEnum::choices() const
+{
+    return mChoices;
+}
+
+KCoreConfigSkeleton::ItemUInt::ItemUInt(const QString &_group, const QString &_key, quint32 &reference, quint32 defaultValue)
+    : KConfigSkeletonGenericItem<quint32>(_group, _key, reference, defaultValue)
+    , mHasMin(false)
+    , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemUInt::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    if (mHasMin) {
+        mReference = qMax(mReference, mMin);
+    }
+    if (mHasMax) {
+        mReference = qMin(mReference, mMax);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUInt::setProperty(const QVariant &p)
+{
+    mReference = p.toUInt();
+}
+
+bool KCoreConfigSkeleton::ItemUInt::isEqual(const QVariant &v) const
+{
+    return mReference == v.toUInt();
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::property() const
+{
+    return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::minValue() const
+{
+    if (mHasMin) {
+        return QVariant(mMin);
+    }
+    return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::maxValue() const
+{
+    if (mHasMax) {
+        return QVariant(mMax);
+    }
+    return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemUInt::setMinValue(quint32 v)
+{
+    mHasMin = true;
+    mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemUInt::setMaxValue(quint32 v)
+{
+    mHasMax = true;
+    mMax = v;
+}
+
+KCoreConfigSkeleton::ItemULongLong::ItemULongLong(const QString &_group, const QString &_key, quint64 &reference, quint64 defaultValue)
+    : KConfigSkeletonGenericItem<quint64>(_group, _key, reference, defaultValue)
+    , mHasMin(false)
+    , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemULongLong::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    if (mHasMin) {
+        mReference = qMax(mReference, mMin);
+    }
+    if (mHasMax) {
+        mReference = qMin(mReference, mMax);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setProperty(const QVariant &p)
+{
+    mReference = p.toULongLong();
+}
+
+bool KCoreConfigSkeleton::ItemULongLong::isEqual(const QVariant &v) const
+{
+    return mReference == v.toULongLong();
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::property() const
+{
+    return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::minValue() const
+{
+    if (mHasMin) {
+        return QVariant(mMin);
+    }
+    return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::maxValue() const
+{
+    if (mHasMax) {
+        return QVariant(mMax);
+    }
+    return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setMinValue(quint64 v)
+{
+    mHasMin = true;
+    mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setMaxValue(quint64 v)
+{
+    mHasMax = true;
+    mMax = v;
+}
+
+KCoreConfigSkeleton::ItemDouble::ItemDouble(const QString &_group, const QString &_key, double &reference, double defaultValue)
+    : KConfigSkeletonGenericItem<double>(_group, _key, reference, defaultValue)
+    , mHasMin(false)
+    , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemDouble::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    if (mHasMin) {
+        mReference = qMax(mReference, mMin);
+    }
+    if (mHasMax) {
+        mReference = qMin(mReference, mMax);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemDouble::setProperty(const QVariant &p)
+{
+    mReference = p.toDouble();
+}
+
+bool KCoreConfigSkeleton::ItemDouble::isEqual(const QVariant &v) const
+{
+    return mReference == v.toDouble();
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::property() const
+{
+    return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::minValue() const
+{
+    if (mHasMin) {
+        return QVariant(mMin);
+    }
+    return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::maxValue() const
+{
+    if (mHasMax) {
+        return QVariant(mMax);
+    }
+    return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemDouble::setMinValue(double v)
+{
+    mHasMin = true;
+    mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemDouble::setMaxValue(double v)
+{
+    mHasMax = true;
+    mMax = v;
+}
+
+KCoreConfigSkeleton::ItemRect::ItemRect(const QString &_group, const QString &_key, QRect &reference, const QRect &defaultValue)
+    : KConfigSkeletonGenericItem<QRect>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemRect::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemRect::setProperty(const QVariant &p)
+{
+    mReference = p.toRect();
+}
+
+bool KCoreConfigSkeleton::ItemRect::isEqual(const QVariant &v) const
+{
+    return mReference == v.toRect();
+}
+
+QVariant KCoreConfigSkeleton::ItemRect::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemRectF::ItemRectF(const QString &_group, const QString &_key, QRectF &reference, const QRectF &defaultValue)
+    : KConfigSkeletonGenericItem<QRectF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemRectF::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemRectF::setProperty(const QVariant &p)
+{
+    mReference = p.toRectF();
+}
+
+bool KCoreConfigSkeleton::ItemRectF::isEqual(const QVariant &v) const
+{
+    return mReference == v.toRectF();
+}
+
+QVariant KCoreConfigSkeleton::ItemRectF::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPoint::ItemPoint(const QString &_group, const QString &_key, QPoint &reference, const QPoint &defaultValue)
+    : KConfigSkeletonGenericItem<QPoint>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPoint::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPoint::setProperty(const QVariant &p)
+{
+    mReference = p.toPoint();
+}
+
+bool KCoreConfigSkeleton::ItemPoint::isEqual(const QVariant &v) const
+{
+    return mReference == v.toPoint();
+}
+
+QVariant KCoreConfigSkeleton::ItemPoint::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPointF::ItemPointF(const QString &_group, const QString &_key, QPointF &reference, const QPointF &defaultValue)
+    : KConfigSkeletonGenericItem<QPointF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPointF::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPointF::setProperty(const QVariant &p)
+{
+    mReference = p.toPointF();
+}
+
+bool KCoreConfigSkeleton::ItemPointF::isEqual(const QVariant &v) const
+{
+    return mReference == v.toPointF();
+}
+
+QVariant KCoreConfigSkeleton::ItemPointF::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemSize::ItemSize(const QString &_group, const QString &_key, QSize &reference, const QSize &defaultValue)
+    : KConfigSkeletonGenericItem<QSize>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemSize::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemSize::setProperty(const QVariant &p)
+{
+    mReference = p.toSize();
+}
+
+bool KCoreConfigSkeleton::ItemSize::isEqual(const QVariant &v) const
+{
+    return mReference == v.toSize();
+}
+
+QVariant KCoreConfigSkeleton::ItemSize::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemSizeF::ItemSizeF(const QString &_group, const QString &_key, QSizeF &reference, const QSizeF &defaultValue)
+    : KConfigSkeletonGenericItem<QSizeF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemSizeF::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemSizeF::setProperty(const QVariant &p)
+{
+    mReference = p.toSizeF();
+}
+
+bool KCoreConfigSkeleton::ItemSizeF::isEqual(const QVariant &v) const
+{
+    return mReference == v.toSizeF();
+}
+
+QVariant KCoreConfigSkeleton::ItemSizeF::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemDateTime::ItemDateTime(const QString &_group, const QString &_key, QDateTime &reference, const QDateTime &defaultValue)
+    : KConfigSkeletonGenericItem<QDateTime>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemDateTime::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemDateTime::setProperty(const QVariant &p)
+{
+    mReference = p.toDateTime();
+}
+
+bool KCoreConfigSkeleton::ItemDateTime::isEqual(const QVariant &v) const
+{
+    return mReference == v.toDateTime();
+}
+
+QVariant KCoreConfigSkeleton::ItemDateTime::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemStringList::ItemStringList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue)
+    : KConfigSkeletonGenericItem<QStringList>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemStringList::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    if (!cg.hasKey(mKey)) {
+        mReference = mDefault;
+    } else {
+        mReference = cg.readEntry(mKey, mDefault);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemStringList::setProperty(const QVariant &p)
+{
+    mReference = p.toStringList();
+}
+
+bool KCoreConfigSkeleton::ItemStringList::isEqual(const QVariant &v) const
+{
+    return mReference == v.toStringList();
+}
+
+QVariant KCoreConfigSkeleton::ItemStringList::property() const
+{
+    return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPathList::ItemPathList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue)
+    : ItemStringList(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPathList::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    if (!cg.hasKey(mKey)) {
+        mReference = mDefault;
+    } else {
+        mReference = cg.readPathEntry(mKey, QStringList());
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPathList::writeConfig(KConfig *config)
+{
+    if (mReference != mLoadedValue) { // WABA: Is this test needed?
+        KConfigGroup cg = configGroup(config);
+        if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+            cg.revertToDefault(mKey, writeFlags());
+        } else {
+            QStringList sl = mReference;
+            cg.writePathEntry(mKey, sl, writeFlags());
+        }
+        mLoadedValue = mReference;
+    }
+}
+
+KCoreConfigSkeleton::ItemUrlList::ItemUrlList(const QString &_group, const QString &_key, QList<QUrl> &reference, const QList<QUrl> &defaultValue)
+    : KConfigSkeletonGenericItem<QList<QUrl>>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemUrlList::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    if (!cg.hasKey(mKey)) {
+        mReference = mDefault;
+    } else {
+        QStringList strList;
+        for (const QUrl &url : std::as_const(mDefault)) {
+            strList.append(url.toString());
+        }
+        mReference.clear();
+        const QStringList readList = cg.readEntry<QStringList>(mKey, strList);
+        for (const QString &str : readList) {
+            mReference.append(QUrl(str));
+        }
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUrlList::writeConfig(KConfig *config)
+{
+    if (mReference != mLoadedValue) { // WABA: Is this test needed?
+        KConfigGroup cg = configGroup(config);
+        if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+            cg.revertToDefault(mKey, writeFlags());
+        } else {
+            QStringList strList;
+            for (const QUrl &url : std::as_const(mReference)) {
+                strList.append(url.toString());
+            }
+            cg.writeEntry<QStringList>(mKey, strList, writeFlags());
+        }
+        mLoadedValue = mReference;
+    }
+}
+
+void KCoreConfigSkeleton::ItemUrlList::setProperty(const QVariant &p)
+{
+    mReference = qvariant_cast<QList<QUrl>>(p);
+}
+
+bool KCoreConfigSkeleton::ItemUrlList::isEqual(const QVariant &v) const
+{
+    return mReference == qvariant_cast<QList<QUrl>>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemUrlList::property() const
+{
+    return QVariant::fromValue<QList<QUrl>>(mReference);
+}
+
+KCoreConfigSkeleton::ItemIntList::ItemIntList(const QString &_group, const QString &_key, QList<int> &reference, const QList<int> &defaultValue)
+    : KConfigSkeletonGenericItem<QList<int>>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemIntList::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+    if (!cg.hasKey(mKey)) {
+        mReference = mDefault;
+    } else {
+        mReference = cg.readEntry(mKey, mDefault);
+    }
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemIntList::setProperty(const QVariant &p)
+{
+    mReference = qvariant_cast<QList<int>>(p);
+}
+
+bool KCoreConfigSkeleton::ItemIntList::isEqual(const QVariant &v) const
+{
+    return mReference == qvariant_cast<QList<int>>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemIntList::property() const
+{
+    return QVariant::fromValue<QList<int>>(mReference);
+}
+
+// static int kCoreConfigSkeletionDebugArea() { static int s_area = KDebug::registerArea("kdecore (KConfigSkeleton)"); return s_area; }
+
+KCoreConfigSkeleton::KCoreConfigSkeleton(const QString &configname, QObject *parent)
+    : QObject(parent)
+    , d(new KCoreConfigSkeletonPrivate)
+{
+    // qDebug() << "Creating KCoreConfigSkeleton (" << (void *)this << ")";
+
+    d->mConfig = KSharedConfig::openConfig(configname, KConfig::FullConfig);
+}
+
+KCoreConfigSkeleton::KCoreConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent)
+    : QObject(parent)
+    , d(new KCoreConfigSkeletonPrivate)
+{
+    // qDebug() << "Creating KCoreConfigSkeleton (" << (void *)this << ")";
+    d->mConfig = std::move(pConfig);
+}
+
+KCoreConfigSkeleton::~KCoreConfigSkeleton()
+{
+    delete d;
+}
+
+void KCoreConfigSkeleton::setCurrentGroup(const QString &group)
+{
+    d->mCurrentGroup = group;
+}
+
+QString KCoreConfigSkeleton::currentGroup() const
+{
+    return d->mCurrentGroup;
+}
+
+KConfig *KCoreConfigSkeleton::config()
+{
+    return d->mConfig.data();
+}
+
+const KConfig *KCoreConfigSkeleton::config() const
+{
+    return d->mConfig.data();
+}
+
+KSharedConfig::Ptr KCoreConfigSkeleton::sharedConfig() const
+{
+    return d->mConfig;
+}
+
+void KCoreConfigSkeleton::setSharedConfig(KSharedConfig::Ptr pConfig)
+{
+    d->mConfig = std::move(pConfig);
+}
+
+KConfigSkeletonItem::List KCoreConfigSkeleton::items() const
+{
+    return d->mItems;
+}
+
+bool KCoreConfigSkeleton::useDefaults(bool b)
+{
+    if (b == d->mUseDefaults) {
+        return d->mUseDefaults;
+    }
+
+    d->mUseDefaults = b;
+    for (auto *skelItem : std::as_const(d->mItems)) {
+        skelItem->swapDefault();
+    }
+
+    usrUseDefaults(b);
+    return !d->mUseDefaults;
+}
+
+void KCoreConfigSkeleton::setDefaults()
+{
+    for (auto *skelItem : std::as_const(d->mItems)) {
+        skelItem->setDefault();
+    }
+    usrSetDefaults();
+}
+
+void KCoreConfigSkeleton::load()
+{
+    d->mConfig->reparseConfiguration();
+    read();
+}
+
+void KCoreConfigSkeleton::read()
+{
+    for (auto *skelItem : std::as_const(d->mItems)) {
+        skelItem->readConfig(d->mConfig.data());
+    }
+    usrRead();
+}
+
+bool KCoreConfigSkeleton::isDefaults() const
+{
+    return std::all_of(d->mItems.cbegin(), d->mItems.cend(), [](KConfigSkeletonItem *skelItem) {
+        return skelItem->isDefault();
+    });
+}
+
+bool KCoreConfigSkeleton::isSaveNeeded() const
+{
+    return std::any_of(d->mItems.cbegin(), d->mItems.cend(), [](KConfigSkeletonItem *skelItem) {
+        return skelItem->isSaveNeeded();
+    });
+}
+
+bool KCoreConfigSkeleton::save()
+{
+    // qDebug();
+    for (auto *skelItem : std::as_const(d->mItems)) {
+        skelItem->writeConfig(d->mConfig.data());
+    }
+
+    if (!usrSave()) {
+        return false;
+    }
+
+    if (d->mConfig->isDirty()) {
+        if (!d->mConfig->sync()) {
+            return false;
+        }
+        Q_EMIT configChanged();
+    }
+    return true;
+}
+
+bool KCoreConfigSkeleton::usrUseDefaults(bool)
+{
+    return false;
+}
+
+void KCoreConfigSkeleton::usrSetDefaults()
+{
+}
+
+void KCoreConfigSkeleton::usrRead()
+{
+}
+
+bool KCoreConfigSkeleton::usrSave()
+{
+    return true;
+}
+
+void KCoreConfigSkeleton::addItem(KConfigSkeletonItem *item, const QString &name)
+{
+    if (d->mItems.contains(item)) {
+        if (item->name() == name || (name.isEmpty() && item->name() == item->key())) {
+            // nothing to do -> it is already in our collection
+            // and the name isn't changing
+            return;
+        }
+
+        d->mItemDict.remove(item->name());
+    } else {
+        d->mItems.append(item);
+    }
+
+    item->setName(name.isEmpty() ? item->key() : name);
+    d->mItemDict.insert(item->name(), item);
+    item->readDefault(d->mConfig.data());
+    item->readConfig(d->mConfig.data());
+}
+
+void KCoreConfigSkeleton::removeItem(const QString &name)
+{
+    KConfigSkeletonItem *item = d->mItemDict.value(name);
+    if (item) {
+        d->mItems.removeAll(item);
+        d->mItemDict.remove(item->name());
+        delete item;
+    }
+}
+
+void KCoreConfigSkeleton::clearItems()
+{
+    KConfigSkeletonItem::List items = d->mItems;
+    d->mItems.clear();
+    d->mItemDict.clear();
+    qDeleteAll(items);
+}
+
+KCoreConfigSkeleton::ItemString *KCoreConfigSkeleton::addItemString(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemString *item;
+    item = new KCoreConfigSkeleton::ItemString(d->mCurrentGroup, key.isEmpty() ? name : key, reference, defaultValue, KCoreConfigSkeleton::ItemString::Normal);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemPassword *
+KCoreConfigSkeleton::addItemPassword(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemPassword *item;
+    item = new KCoreConfigSkeleton::ItemPassword(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemPath *KCoreConfigSkeleton::addItemPath(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemPath *item;
+    item = new KCoreConfigSkeleton::ItemPath(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemProperty *
+KCoreConfigSkeleton::addItemProperty(const QString &name, QVariant &reference, const QVariant &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemProperty *item;
+    item = new KCoreConfigSkeleton::ItemProperty(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemBool *KCoreConfigSkeleton::addItemBool(const QString &name, bool &reference, bool defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemBool *item;
+    item = new KCoreConfigSkeleton::ItemBool(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemInt *KCoreConfigSkeleton::addItemInt(const QString &name, qint32 &reference, qint32 defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemInt *item;
+    item = new KCoreConfigSkeleton::ItemInt(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemUInt *KCoreConfigSkeleton::addItemUInt(const QString &name, quint32 &reference, quint32 defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemUInt *item;
+    item = new KCoreConfigSkeleton::ItemUInt(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemLongLong *KCoreConfigSkeleton::addItemLongLong(const QString &name, qint64 &reference, qint64 defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemLongLong *item;
+    item = new KCoreConfigSkeleton::ItemLongLong(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemULongLong *KCoreConfigSkeleton::addItemULongLong(const QString &name, quint64 &reference, quint64 defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemULongLong *item;
+    item = new KCoreConfigSkeleton::ItemULongLong(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemDouble *KCoreConfigSkeleton::addItemDouble(const QString &name, double &reference, double defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemDouble *item;
+    item = new KCoreConfigSkeleton::ItemDouble(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemRect *KCoreConfigSkeleton::addItemRect(const QString &name, QRect &reference, const QRect &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemRect *item;
+    item = new KCoreConfigSkeleton::ItemRect(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemRectF *KCoreConfigSkeleton::addItemRectF(const QString &name, QRectF &reference, const QRectF &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemRectF *item;
+    item = new KCoreConfigSkeleton::ItemRectF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemPoint *KCoreConfigSkeleton::addItemPoint(const QString &name, QPoint &reference, const QPoint &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemPoint *item;
+    item = new KCoreConfigSkeleton::ItemPoint(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemPointF *KCoreConfigSkeleton::addItemPointF(const QString &name, QPointF &reference, const QPointF &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemPointF *item;
+    item = new KCoreConfigSkeleton::ItemPointF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemSize *KCoreConfigSkeleton::addItemSize(const QString &name, QSize &reference, const QSize &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemSize *item;
+    item = new KCoreConfigSkeleton::ItemSize(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemSizeF *KCoreConfigSkeleton::addItemSizeF(const QString &name, QSizeF &reference, const QSizeF &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemSizeF *item;
+    item = new KCoreConfigSkeleton::ItemSizeF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemDateTime *
+KCoreConfigSkeleton::addItemDateTime(const QString &name, QDateTime &reference, const QDateTime &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemDateTime *item;
+    item = new KCoreConfigSkeleton::ItemDateTime(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemStringList *
+KCoreConfigSkeleton::addItemStringList(const QString &name, QStringList &reference, const QStringList &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemStringList *item;
+    item = new KCoreConfigSkeleton::ItemStringList(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KCoreConfigSkeleton::ItemIntList *
+KCoreConfigSkeleton::addItemIntList(const QString &name, QList<int> &reference, const QList<int> &defaultValue, const QString &key)
+{
+    KCoreConfigSkeleton::ItemIntList *item;
+    item = new KCoreConfigSkeleton::ItemIntList(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+bool KCoreConfigSkeleton::isImmutable(const QString &name) const
+{
+    KConfigSkeletonItem *item = findItem(name);
+    return !item || item->isImmutable();
+}
+
+KConfigSkeletonItem *KCoreConfigSkeleton::findItem(const QString &name) const
+{
+    return d->mItemDict.value(name);
+}
+
+KConfigCompilerSignallingItem::KConfigCompilerSignallingItem(KConfigSkeletonItem *item,
+                                                             QObject *object,
+                                                             KConfigCompilerSignallingItem::NotifyFunction targetFunction,
+                                                             quint64 userData)
+    : KConfigSkeletonItem(item->group(), item->key())
+    , mItem(item)
+    , mTargetFunction(targetFunction)
+    , mObject(object)
+    , mUserData(userData)
+{
+    Q_ASSERT(mTargetFunction);
+    Q_ASSERT(mItem);
+    Q_ASSERT(mObject);
+
+    setIsDefaultImpl([this] {
+        return mItem->isDefault();
+    });
+    setIsSaveNeededImpl([this] {
+        return mItem->isSaveNeeded();
+    });
+    setGetDefaultImpl([this] {
+        return mItem->getDefault();
+    });
+}
+
+KConfigCompilerSignallingItem::~KConfigCompilerSignallingItem()
+{
+}
+
+bool KConfigCompilerSignallingItem::isEqual(const QVariant &p) const
+{
+    return mItem->isEqual(p);
+}
+
+QVariant KConfigCompilerSignallingItem::property() const
+{
+    return mItem->property();
+}
+
+QVariant KConfigCompilerSignallingItem::minValue() const
+{
+    return mItem->minValue();
+}
+
+QVariant KConfigCompilerSignallingItem::maxValue() const
+{
+    return mItem->maxValue();
+}
+
+void KConfigCompilerSignallingItem::readConfig(KConfig *c)
+{
+    QVariant oldValue = mItem->property();
+    mItem->readConfig(c);
+    // readConfig() changes mIsImmutable, update it here as well
+    KConfigGroup cg = configGroup(c);
+    readImmutability(cg);
+    if (!mItem->isEqual(oldValue)) {
+        invokeNotifyFunction();
+    }
+}
+
+void KConfigCompilerSignallingItem::readDefault(KConfig *c)
+{
+    mItem->readDefault(c);
+    // readDefault() changes mIsImmutable, update it here as well
+    KConfigGroup cg = configGroup(c);
+    readImmutability(cg);
+}
+
+void KConfigCompilerSignallingItem::writeConfig(KConfig *c)
+{
+    mItem->writeConfig(c);
+}
+
+void KConfigCompilerSignallingItem::setDefault()
+{
+    QVariant oldValue = mItem->property();
+    mItem->setDefault();
+    if (!mItem->isEqual(oldValue)) {
+        invokeNotifyFunction();
+    }
+}
+
+void KConfigCompilerSignallingItem::setProperty(const QVariant &p)
+{
+    if (!mItem->isEqual(p)) {
+        mItem->setProperty(p);
+        invokeNotifyFunction();
+    }
+}
+
+void KConfigCompilerSignallingItem::swapDefault()
+{
+    QVariant oldValue = mItem->property();
+    mItem->swapDefault();
+    if (!mItem->isEqual(oldValue)) {
+        invokeNotifyFunction();
+    }
+}
+
+void KConfigCompilerSignallingItem::setWriteFlags(KConfigBase::WriteConfigFlags flags)
+{
+    mItem->setWriteFlags(flags);
+}
+
+KConfigBase::WriteConfigFlags KConfigCompilerSignallingItem::writeFlags() const
+{
+    return mItem->writeFlags();
+}
+
+void KConfigCompilerSignallingItem::setGroup(const KConfigGroup &cg)
+{
+    mItem->setGroup(cg);
+}
+
+KConfigGroup KConfigCompilerSignallingItem::configGroup(KConfig *config) const
+{
+    return mItem->configGroup(config);
+}
+
+#include "moc_kcoreconfigskeleton.cpp"
diff --git a/src/core/kcoreconfigskeleton.h b/src/core/kcoreconfigskeleton.h
new file mode 100644 (file)
index 0000000..0148160
--- /dev/null
@@ -0,0 +1,1639 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2001, 2002, 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCORECONFIGSKELETON_H
+#define KCORECONFIGSKELETON_H
+
+#include <kconfigcore_export.h>
+
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+#include <QDate>
+#include <QHash>
+#include <QRect>
+#include <QStringList>
+#include <QUrl>
+#include <QVariant>
+
+class KCoreConfigSkeletonPrivate;
+
+class KConfigSkeletonItemPrivate;
+/**
+ * \class KConfigSkeletonItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for storing a preferences setting
+ * @author Cornelius Schumacher
+ * @see KCoreConfigSkeleton
+ *
+ * This class represents one preferences setting as used by @ref KCoreConfigSkeleton.
+ * Subclasses of KConfigSkeletonItem implement storage functions for a certain type of
+ * setting. Normally you don't have to use this class directly. Use the special
+ * addItem() functions of KCoreConfigSkeleton instead. If you subclass this class you will
+ * have to register instances with the function KCoreConfigSkeleton::addItem().
+ */
+class KCONFIGCORE_EXPORT KConfigSkeletonItem
+{
+    Q_DECLARE_PRIVATE(KConfigSkeletonItem)
+public:
+    typedef QList<KConfigSkeletonItem *> List;
+    typedef QHash<QString, KConfigSkeletonItem *> Dict;
+    typedef QHash<QString, KConfigSkeletonItem *>::Iterator DictIterator;
+
+    /**
+     * Constructor.
+     *
+     * @param _group Config file group.
+     * @param _key Config file key.
+     */
+    KConfigSkeletonItem(const QString &_group, const QString &_key);
+
+    /**
+     * Destructor.
+     */
+    virtual ~KConfigSkeletonItem();
+
+    /**
+     * Set config file group.
+     */
+    void setGroup(const QString &_group);
+
+    /**
+     * Return name of config file group.
+     */
+    QString group() const;
+
+    /**
+     * Set config file group but giving the KConfigGroup.
+     * Allow the item to be in nested groups.
+     * @since 5.68
+     */
+    void setGroup(const KConfigGroup &cg);
+
+    /**
+     * Return a KConfigGroup, the one provided by setGroup(const KConfigGroup&) if it's valid,
+     * or make one from @p config and item's group.
+     * @see setGroup(const QString &_group)
+     * @see setGroup(KConfigGroup cg)
+     * @since 5.68
+     */
+    KConfigGroup configGroup(KConfig *config) const;
+
+    /**
+     * Set config file key.
+     */
+    void setKey(const QString &_key);
+
+    /**
+     * Return config file key.
+     */
+    QString key() const;
+
+    /**
+     * Set internal name of entry.
+     */
+    void setName(const QString &_name);
+
+    /**
+     * Return internal name of entry.
+     */
+    QString name() const;
+
+    /**
+     * Set label providing a translated one-line description of the item.
+     */
+    void setLabel(const QString &l);
+
+    /**
+     * Return the label of the item.
+     * @see setLabel()
+     */
+    QString label() const;
+
+    /**
+     * Set ToolTip description of item.
+     * @since 4.2
+     */
+    void setToolTip(const QString &t);
+
+    /**
+     * Return ToolTip description of item.
+     * @see setToolTip()
+     * @since 4.2
+     */
+    QString toolTip() const;
+
+    /**
+     * Set WhatsThis description of item.
+     */
+    void setWhatsThis(const QString &w);
+
+    /**
+     * Return WhatsThis description of item.
+     * @see setWhatsThis()
+     */
+    QString whatsThis() const;
+
+    /**
+     * The write flags to be used when writing configuration.
+     * @since 5.58
+     */
+    void setWriteFlags(KConfigBase::WriteConfigFlags flags);
+
+    /**
+     * Return write flags to be used when writing configuration.
+     * They should be passed to every call of KConfigGroup::writeEntry() and KConfigGroup::revertToDefault().
+     * @since 5.58
+     */
+    KConfigBase::WriteConfigFlags writeFlags() const;
+
+    /**
+     * This function is called by @ref KCoreConfigSkeleton to read the value for this setting
+     * from a config file.
+     */
+    virtual void readConfig(KConfig *) = 0;
+
+    /**
+     * This function is called by @ref KCoreConfigSkeleton to write the value of this setting
+     * to a config file.
+     * Make sure to pass writeFlags() to every call of KConfigGroup::writeEntry() and KConfigGroup::revertToDefault().
+     */
+    virtual void writeConfig(KConfig *) = 0;
+
+    /**
+     * Read global default value.
+     */
+    virtual void readDefault(KConfig *) = 0;
+
+    /**
+     * Set item to @p p
+     */
+    virtual void setProperty(const QVariant &p) = 0;
+
+    /**
+     * Check whether the item is equal to @p p.
+     *
+     * Use this function to compare items that use custom types,
+     * because QVariant::operator== will not work for those.
+     *
+     * @param p QVariant to compare to
+     * @return @c true if the item is equal to @p p, @c false otherwise
+     */
+    virtual bool isEqual(const QVariant &p) const = 0;
+
+    /**
+     * Return item as property
+     */
+    virtual QVariant property() const = 0;
+
+    /**
+     * Return minimum value of item or invalid if not specified
+     */
+    virtual QVariant minValue() const;
+
+    /**
+     * Return maximum value of item or invalid if not specified
+     */
+    virtual QVariant maxValue() const;
+
+    /**
+     * Sets the current value to the default value.
+     */
+    virtual void setDefault() = 0;
+
+    /**
+     * Exchanges the current value with the default value
+     * Used by KCoreConfigSkeleton::useDefaults(bool);
+     */
+    virtual void swapDefault() = 0;
+
+    /**
+     * Return if the entry can be modified.
+     */
+    bool isImmutable() const;
+
+    /**
+     * Indicates if the item is set to its default value.
+     *
+     * @since 5.64
+     */
+    bool isDefault() const;
+
+    /**
+     * Indicates if the item has a different value than the
+     * previously loaded value.
+     *
+     * @since 5.64
+     */
+    bool isSaveNeeded() const;
+
+    /**
+     * Returns the default value
+     * @since 5.74
+     */
+    QVariant getDefault() const;
+
+protected:
+    KCONFIGCORE_NO_EXPORT explicit KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key);
+
+    /**
+     * Sets mIsImmutable to @c true if mKey in config is immutable.
+     * @param group KConfigGroup to check if mKey is immutable in
+     */
+    void readImmutability(const KConfigGroup &group);
+
+    QString mGroup; ///< The group name for this item
+    QString mKey; ///< The config key for this item
+    QString mName; ///< The name of this item
+
+    // HACK: Necessary to avoid introducing new virtuals in KConfigSkeletonItem
+    // KF7 TODO: Use proper pure virtuals in KConfigSkeletonItem
+    void setIsDefaultImpl(const std::function<bool()> &impl);
+    void setIsSaveNeededImpl(const std::function<bool()> &impl);
+    void setGetDefaultImpl(const std::function<QVariant()> &impl);
+
+    KConfigSkeletonItemPrivate *const d_ptr;
+};
+
+class KPropertySkeletonItemPrivate;
+
+/**
+ * \class KPropertySkeletonItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for proxying a QObject property as a preferences setting
+ * @author Kevin Ottens
+ * @see KConfigSkeletonItem
+ *
+ * This class represents one preferences setting as used by @ref KCoreConfigSkeleton.
+ * Unlike other @ref KConfigSkeletonItem subclasses, this one won't store the preference
+ * in KConfig but will use a QObject property as storage.
+ * You will have to register instances of this class with the function KCoreConfigSkeleton::addItem().
+ *
+ * @since 5.65
+ */
+class KCONFIGCORE_EXPORT KPropertySkeletonItem : public KConfigSkeletonItem
+{
+    Q_DECLARE_PRIVATE(KPropertySkeletonItem)
+public:
+    /**
+     * Constructor
+     *
+     * @param object The QObject instance which we'll manage the property of
+     * @param propertyName The name of the property in @p object which we'll manage
+     * @param defaultValue The default value of the property
+     */
+    KPropertySkeletonItem(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue);
+
+    /** @copydoc KConfigSkeletonItem::property() */
+    QVariant property() const override;
+    /** @copydoc KConfigSkeletonItem::setProperty(const QVariant &) */
+    void setProperty(const QVariant &p) override;
+    /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+    bool isEqual(const QVariant &p) const override;
+
+    /** @copydoc KConfigSkeletonItem::readConfig(KConfig *) */
+    void readConfig(KConfig *) override;
+    /** @copydoc KConfigSkeletonItem::writeConfig(KConfig *) */
+    void writeConfig(KConfig *) override;
+
+    /** @copydoc KConfigSkeletonItem::readDefault(KConfig *) */
+    void readDefault(KConfig *) override;
+    /** @copydoc KConfigSkeletonItem::setDefault() */
+    void setDefault() override;
+    /** @copydoc KConfigSkeletonItem::swapDefault() */
+    void swapDefault() override;
+
+    /**
+     * Set a notify function, it will be invoked when the value of the property changes.
+     * @since 5.68
+     */
+    void setNotifyFunction(const std::function<void()> &impl);
+};
+
+/**
+ * \class KConfigSkeletonGenericItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Base class for storing a preferences setting of type @p T.
+ */
+template<typename T>
+class KConfigSkeletonGenericItem : public KConfigSkeletonItem
+{
+public:
+    /**
+     * @copydoc KConfigSkeletonItem(const QString&, const QString&)
+     * @param reference The initial value to hold in the item
+     * @param defaultValue The default value for the item
+     */
+    KConfigSkeletonGenericItem(const QString &_group, const QString &_key, T &reference, T defaultValue)
+        : KConfigSkeletonItem(_group, _key)
+        , mReference(reference)
+        , mDefault(defaultValue)
+        , mLoadedValue(defaultValue)
+    {
+        setIsDefaultImpl([this] {
+            return mReference == mDefault;
+        });
+        setIsSaveNeededImpl([this] {
+            return mReference != mLoadedValue;
+        });
+        setGetDefaultImpl([this] {
+            return QVariant::fromValue(mDefault);
+        });
+    }
+
+    /**
+     * Set value of this KConfigSkeletonItem.
+     */
+    void setValue(const T &v)
+    {
+        mReference = v;
+    }
+
+    /**
+     * Return value of this KConfigSkeletonItem.
+     */
+    T &value()
+    {
+        return mReference;
+    }
+
+    /**
+     * Return const value of this KConfigSkeletonItem.
+     */
+    const T &value() const
+    {
+        return mReference;
+    }
+
+    /**
+     * Set default value for this item.
+     */
+    virtual void setDefaultValue(const T &v)
+    {
+        mDefault = v;
+    }
+
+    /**
+     * Set the value for this item to the default value
+     */
+    void setDefault() override
+    {
+        mReference = mDefault;
+    }
+
+    /** @copydoc KConfigSkeletonItem::writeConfig(KConfig *) */
+    void writeConfig(KConfig *config) override
+    {
+        if (mReference != mLoadedValue) { // Is this needed?
+            KConfigGroup cg = configGroup(config);
+            if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+                cg.revertToDefault(mKey, writeFlags());
+            } else {
+                cg.writeEntry(mKey, mReference, writeFlags());
+            }
+            mLoadedValue = mReference;
+        }
+    }
+
+    /** @copydoc KConfigSkeletonItem::readDefault(KConfig*) */
+    void readDefault(KConfig *config) override
+    {
+        config->setReadDefaults(true);
+        readConfig(config);
+        config->setReadDefaults(false);
+        mDefault = mReference;
+    }
+
+    /** @copydoc KConfigSkeletonItem::swapDefault() */
+    void swapDefault() override
+    {
+        T tmp = mReference;
+        mReference = mDefault;
+        mDefault = tmp;
+    }
+
+protected:
+    T &mReference; ///< Stores the value for this item
+    T mDefault; ///< The default value for this item
+    T mLoadedValue;
+};
+
+/**
+ * \class KConfigCompilerSignallingItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @author Alex Richardson
+ *
+ * This class wraps a @ref KConfigSkeletonItem and invokes a function whenever the value changes.
+ * That function must take one quint64 parameter. Whenever the property value of the wrapped KConfigSkeletonItem
+ * changes this function will be invoked with the stored user data passed in the constructor.
+ * It does not call a function with the new value since this class is designed solely for the \ref kconfig_compiler generated
+ * code and is therefore probably not suited for any other usecases.
+ *
+ * @see KConfigSkeletonItem
+ */
+class KCONFIGCORE_EXPORT KConfigCompilerSignallingItem : public KConfigSkeletonItem
+{
+public:
+    typedef void (QObject::*NotifyFunction)(quint64 arg);
+    /**
+     * Constructor.
+     *
+     * @param item the KConfigSkeletonItem to wrap
+     * @param targetFunction the method to invoke whenever the value of @p item changes
+     * @param object The object on which the method is invoked.
+     * @param userData This data will be passed to @p targetFunction on every property change
+     */
+    KConfigCompilerSignallingItem(KConfigSkeletonItem *item, QObject *object, NotifyFunction targetFunction, quint64 userData);
+    ~KConfigCompilerSignallingItem() override;
+
+    void readConfig(KConfig *) override;
+    void writeConfig(KConfig *) override;
+    void readDefault(KConfig *) override;
+    void setProperty(const QVariant &p) override;
+    bool isEqual(const QVariant &p) const override;
+    QVariant property() const override;
+    QVariant minValue() const override;
+    QVariant maxValue() const override;
+    void setDefault() override;
+    void swapDefault() override;
+    // KF7 TODO - fix this
+    // Ideally we would do this in an overload of KConfigSkeletonItem, but
+    // given we can't, I've shadowed the method. This isn't pretty, but given
+    // the docs say it should generally only be used from auto generated code,
+    // should be fine.
+    void setWriteFlags(KConfigBase::WriteConfigFlags flags);
+    KConfigBase::WriteConfigFlags writeFlags() const;
+    void setGroup(const KConfigGroup &cg);
+    KConfigGroup configGroup(KConfig *config) const;
+    // END TODO
+
+private:
+    inline void invokeNotifyFunction()
+    {
+        // call the pointer to member function using the strange ->* operator
+        (mObject->*mTargetFunction)(mUserData);
+    }
+
+private:
+    QScopedPointer<KConfigSkeletonItem> mItem;
+    NotifyFunction mTargetFunction;
+    QObject *mObject;
+    quint64 mUserData;
+};
+
+/**
+ * \class KCoreConfigSkeleton kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for handling preferences settings for an application.
+ * @author Cornelius Schumacher
+ *
+ * This class provides an interface to preferences settings. Preferences items
+ * can be registered by the addItem() function corresponding to the data type of
+ * the setting. KCoreConfigSkeleton then handles reading and writing of config files and
+ * setting of default values.
+ *
+ * Normally you will subclass KCoreConfigSkeleton, add data members for the preferences
+ * settings and register the members in the constructor of the subclass.
+ *
+ * Example:
+ * \code
+ * class MyPrefs : public KCoreConfigSkeleton
+ * {
+ *   public:
+ *     MyPrefs()
+ *     {
+ *       setCurrentGroup("MyGroup");
+ *       addItemBool("MySetting1", mMyBool, false);
+ *       addItemPoint("MySetting2", mMyPoint, QPoint(100, 200));
+ *
+ *       setCurrentGroup("MyOtherGroup");
+ *       addItemDouble("MySetting3", mMyDouble, 3.14);
+ *     }
+ *
+ *     bool mMyBool;
+ *     QPoint mMyPoint;
+ *     double mMyDouble;
+ * }
+ * \endcode
+ *
+ * It might be convenient in many cases to make this subclass of KCoreConfigSkeleton a
+ * singleton for global access from all over the application without passing
+ * references to the KCoreConfigSkeleton object around.
+ *
+ * You can write the data to the configuration file by calling @ref save()
+ * and read the data from the configuration file by calling @ref readConfig().
+ * If you want to watch for config changes, use @ref configChanged() signal.
+ *
+ * If you have items, which are not covered by the existing addItem() functions
+ * you can add customized code for reading, writing and default setting by
+ * implementing the functions @ref usrUseDefaults(), @ref usrRead() and
+ * @ref usrSave().
+ *
+ * Internally preferences settings are stored in instances of subclasses of
+ * @ref KConfigSkeletonItem. You can also add KConfigSkeletonItem subclasses
+ * for your own types and call the generic @ref addItem() to register them.
+ *
+ * In many cases you don't have to write the specific KCoreConfigSkeleton
+ * subclasses yourself, but you can use \ref kconfig_compiler to automatically
+ * generate the C++ code from an XML description of the configuration options.
+ *
+ * Use KConfigSkeleton if you need GUI types as well.
+ *
+ * @see KConfigSkeletonItem
+ */
+class KCONFIGCORE_EXPORT KCoreConfigSkeleton : public QObject
+{
+    Q_OBJECT
+public:
+    /**
+     * Class for handling a string preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemString : public KConfigSkeletonGenericItem<QString>
+    {
+    public:
+        /** The type of string that is held in this item */
+        enum Type {
+            Normal, ///< A normal string
+            Password, ///< A password string
+            Path, ///< A path to a file or directory
+        };
+
+        /**
+         * @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem
+         * @param type The type of string held by the item
+         */
+        ItemString(const QString &_group,
+                   const QString &_key,
+                   QString &reference,
+                   const QString &defaultValue = QLatin1String(""), // NOT QString() !!
+                   Type type = Normal);
+
+        /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+        void writeConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() const */
+        QVariant property() const override;
+
+    private:
+        Type mType;
+    };
+
+    /**
+     * Class for handling a password preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemPassword : public ItemString
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemPassword(const QString &_group, const QString &_key, QString &reference,
+                     const QString &defaultValue = QLatin1String("")); // NOT QString() !!
+    };
+
+    /**
+     * Class for handling a path preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemPath : public ItemString
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemPath(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue = QString());
+    };
+
+    /**
+     * Class for handling a url preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemUrl : public KConfigSkeletonGenericItem<QUrl>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemUrl(const QString &_group, const QString &_key, QUrl &reference, const QUrl &defaultValue = QUrl());
+
+        /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+        void writeConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() const */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QVariant preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemProperty : public KConfigSkeletonGenericItem<QVariant>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemProperty(const QString &_group, const QString &_key, QVariant &reference, const QVariant &defaultValue = QVariant());
+
+        void readConfig(KConfig *config) override;
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() const */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a bool preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemBool : public KConfigSkeletonGenericItem<bool>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemBool(const QString &_group, const QString &_key, bool &reference, bool defaultValue = true);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() const */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a 32-bit integer preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemInt : public KConfigSkeletonGenericItem<qint32>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemInt(const QString &_group, const QString &_key, qint32 &reference, qint32 defaultValue = 0);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+
+        /** Get the minimum value that is allowed to be stored in this item */
+        QVariant minValue() const override;
+
+        /** Get the maximum value this is allowed to be stored in this item */
+        QVariant maxValue() const override;
+
+        /**
+         * Set the minimum value for the item.
+         * @see minValue()
+         */
+        void setMinValue(qint32);
+
+        /**
+         * Set the maximum value for the item.
+         * @see maxValue
+         */
+        void setMaxValue(qint32);
+
+    private:
+        bool mHasMin : 1;
+        bool mHasMax : 1;
+        qint32 mMin;
+        qint32 mMax;
+    };
+
+    /**
+     * Class for handling a 64-bit integer preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemLongLong : public KConfigSkeletonGenericItem<qint64>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemLongLong(const QString &_group, const QString &_key, qint64 &reference, qint64 defaultValue = 0);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+
+        /** @copydoc ItemInt::minValue() */
+        QVariant minValue() const override;
+
+        /** @copydoc ItemInt::maxValue() */
+        QVariant maxValue() const override;
+
+        /** @copydoc ItemInt::setMinValue(qint32) */
+        void setMinValue(qint64);
+
+        /** @copydoc ItemInt::setMaxValue(qint32) */
+        void setMaxValue(qint64);
+
+    private:
+        bool mHasMin : 1;
+        bool mHasMax : 1;
+        qint64 mMin;
+        qint64 mMax;
+    };
+
+    /**
+     * Class for handling enums.
+     */
+    class KCONFIGCORE_EXPORT ItemEnum : public ItemInt
+    {
+    public:
+        struct Choice {
+            QString name;
+            QString label;
+            QString toolTip;
+            QString whatsThis;
+            QString value;
+        };
+
+        /**
+         * @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem
+         * @param choices The list of enums that can be stored in this item
+         */
+        ItemEnum(const QString &_group, const QString &_key, qint32 &reference, const QList<Choice> &choices, qint32 defaultValue = 0);
+
+        QList<Choice> choices() const;
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+        void writeConfig(KConfig *config) override;
+
+        /**
+         * Returns the value for the choice with the given @p name
+         */
+        QString valueForChoice(const QString &name) const;
+
+        /**
+         * Stores a choice value for @p name
+         */
+        void setValueForChoice(const QString &name, const QString &valueForChoice);
+
+    private:
+        QList<Choice> mChoices;
+    };
+
+    /**
+     * Class for handling an unsigned 32-bit integer preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemUInt : public KConfigSkeletonGenericItem<quint32>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemUInt(const QString &_group, const QString &_key, quint32 &reference, quint32 defaultValue = 0);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+
+        /** @copydoc ItemInt::minValue() */
+        QVariant minValue() const override;
+
+        /** @copydoc ItemInt::maxValue() */
+        QVariant maxValue() const override;
+
+        /** @copydoc ItemInt::setMinValue(qint32) */
+        void setMinValue(quint32);
+
+        /** @copydoc ItemInt::setMaxValue(qint32) */
+        void setMaxValue(quint32);
+
+    private:
+        bool mHasMin : 1;
+        bool mHasMax : 1;
+        quint32 mMin;
+        quint32 mMax;
+    };
+
+    /**
+     * Class for handling unsigned 64-bit integer preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemULongLong : public KConfigSkeletonGenericItem<quint64>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemULongLong(const QString &_group, const QString &_key, quint64 &reference, quint64 defaultValue = 0);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+
+        /** @copydoc ItemInt::minValue() */
+        QVariant minValue() const override;
+
+        /** @copydoc ItemInt::maxValue() */
+        QVariant maxValue() const override;
+
+        /** @copydoc ItemInt::setMinValue(qint32) */
+        void setMinValue(quint64);
+
+        /** @copydoc ItemInt::setMaxValue(qint32) */
+        void setMaxValue(quint64);
+
+    private:
+        bool mHasMin : 1;
+        bool mHasMax : 1;
+        quint64 mMin;
+        quint64 mMax;
+    };
+
+    /**
+     * Class for handling a floating point preference item.
+     */
+    class KCONFIGCORE_EXPORT ItemDouble : public KConfigSkeletonGenericItem<double>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemDouble(const QString &_group, const QString &_key, double &reference, double defaultValue = 0);
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+
+        /** @copydoc ItemInt::minValue() */
+        QVariant minValue() const override;
+
+        /** @copydoc ItemInt::maxValue() */
+        QVariant maxValue() const override;
+
+        /** @copydoc ItemInt::setMinValue() */
+        void setMinValue(double);
+
+        /** @copydoc ItemInt::setMaxValue() */
+        void setMaxValue(double);
+
+    private:
+        bool mHasMin : 1;
+        bool mHasMax : 1;
+        double mMin;
+        double mMax;
+    };
+
+    /**
+     * Class for handling a QRect preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemRect : public KConfigSkeletonGenericItem<QRect>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemRect(const QString &_group, const QString &_key, QRect &reference, const QRect &defaultValue = QRect());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QRectF preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemRectF : public KConfigSkeletonGenericItem<QRectF>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemRectF(const QString &_group, const QString &_key, QRectF &reference, const QRectF &defaultValue = QRectF());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QPoint preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemPoint : public KConfigSkeletonGenericItem<QPoint>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemPoint(const QString &_group, const QString &_key, QPoint &reference, const QPoint &defaultValue = QPoint());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QPointF preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemPointF : public KConfigSkeletonGenericItem<QPointF>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemPointF(const QString &_group, const QString &_key, QPointF &reference, const QPointF &defaultValue = QPointF());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QSize preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemSize : public KConfigSkeletonGenericItem<QSize>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemSize(const QString &_group, const QString &_key, QSize &reference, const QSize &defaultValue = QSize());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QSizeF preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemSizeF : public KConfigSkeletonGenericItem<QSizeF>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemSizeF(const QString &_group, const QString &_key, QSizeF &reference, const QSizeF &defaultValue = QSizeF());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a QDateTime preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemDateTime : public KConfigSkeletonGenericItem<QDateTime>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemDateTime(const QString &_group, const QString &_key, QDateTime &reference, const QDateTime &defaultValue = QDateTime());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a string list preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemStringList : public KConfigSkeletonGenericItem<QStringList>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemStringList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue = QStringList());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a path list preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemPathList : public ItemStringList
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemPathList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue = QStringList());
+
+        /** @copydoc KConfigSkeletonItem::readConfig */
+        void readConfig(KConfig *config) override;
+        /** @copydoc KConfigSkeletonItem::writeConfig */
+        void writeConfig(KConfig *config) override;
+    };
+
+    /**
+     * Class for handling a url list preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemUrlList : public KConfigSkeletonGenericItem<QList<QUrl>>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemUrlList(const QString &_group, const QString &_key, QList<QUrl> &reference, const QList<QUrl> &defaultValue = QList<QUrl>());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+        void writeConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling an integer list preferences item.
+     */
+    class KCONFIGCORE_EXPORT ItemIntList : public KConfigSkeletonGenericItem<QList<int>>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemIntList(const QString &_group, const QString &_key, QList<int> &reference, const QList<int> &defaultValue = QList<int>());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+public:
+    /**
+     * Constructor.
+     *
+     * @param configname name of config file. If no name is given, the default
+     *                   config file as returned by KSharedConfig::openConfig() is used
+     * @param parent the parent object (see QObject documentation)
+     */
+    explicit KCoreConfigSkeleton(const QString &configname = QString(), QObject *parent = nullptr);
+
+    /**
+     * Constructor.
+     *
+     * @param config configuration object to use
+     * @param parent the parent object (see QObject documentation)
+     */
+    explicit KCoreConfigSkeleton(KSharedConfig::Ptr config, QObject *parent = nullptr);
+
+    /**
+     * Destructor
+     */
+    ~KCoreConfigSkeleton() override;
+
+    /**
+     * Set all registered items to their default values.
+     * This method calls usrSetDefaults() after setting the defaults for the
+     * registered items. You can override usrSetDefaults() in derived classes
+     * if you have special requirements.
+     * If you need more fine-grained control of setting the default values of
+     * the registered items you can override setDefaults() in a derived class.
+     */
+    virtual void setDefaults();
+
+    /**
+     * Read preferences from config file. All registered items are set to the
+     * values read from disk.
+     * This method calls usrRead() after reading the settings of the
+     * registered items from the KConfig. You can override usrRead()
+     * in derived classes if you have special requirements.
+     */
+    void load();
+
+    /**
+     * Read preferences from the KConfig object.
+     * This method assumes that the KConfig object was previously loaded,
+     * i.e. it uses the in-memory values from KConfig without reloading from disk.
+     *
+     * This method calls usrRead() after reading the settings of the
+     * registered items from the KConfig. You can override usrRead()
+     * in derived classes if you have special requirements.
+     * @since 5.0
+     */
+    void read();
+
+    /**
+     * Indicates if all the registered items are set to their default value.
+     *
+     * @since 5.64
+     */
+    bool isDefaults() const;
+
+    /**
+     * Indicates if any registered item has a different value than the
+     * previously loaded value.
+     *
+     * @since 5.64
+     */
+    bool isSaveNeeded() const;
+
+    /**
+     * Set the config file group for subsequent addItem() calls. It is valid
+     * until setCurrentGroup() is called with a new argument. Call this before
+     * you add any items. The default value is "No Group".
+     */
+    void setCurrentGroup(const QString &group);
+
+    /**
+     * Returns the current group used for addItem() calls.
+     */
+    QString currentGroup() const;
+
+    /**
+     * Register a custom @ref KConfigSkeletonItem @p item with a given @p name.
+     *
+     * If @p name is a null string, take the name from KConfigSkeletonItem::key().
+     *
+     * @note All names must be unique but multiple entries can have
+     * the same key if they reside in different groups.
+     *
+     * KCoreConfigSkeleton takes ownership of @p item.
+     */
+    void addItem(KConfigSkeletonItem *item, const QString &name = QString());
+
+    /**
+     * Register an item of type QString.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemString *addItemString(const QString &name,
+                              QString &reference,
+                              const QString &defaultValue = QLatin1String(""), // NOT QString() !!
+                              const QString &key = QString());
+
+    /**
+     * Register a password item of type QString. The string value is written
+     * encrypted to the config file.
+     *
+     * @note The current encryption scheme is very weak.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemPassword *addItemPassword(const QString &name, QString &reference, const QString &defaultValue = QLatin1String(""), const QString &key = QString());
+
+    /**
+     * Register a path item of type QString. The string value is interpreted
+     * as a path. This means, dollar expansion is activated for this value, so
+     * that e.g. @c $HOME gets expanded.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemPath *addItemPath(const QString &name, QString &reference, const QString &defaultValue = QLatin1String(""), const QString &key = QString());
+
+    /**
+     * Register a property item of type QVariant.
+     *
+     * @note The following QVariant types are allowed:
+     * String, StringList, Font, Point, PointF, Rect, RectF, Size, SizeF,
+     * Color, Int, UInt, Bool, Double, DateTime and Date.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemProperty *addItemProperty(const QString &name, QVariant &reference, const QVariant &defaultValue = QVariant(), const QString &key = QString());
+    /**
+     * Register an item of type @c bool.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemBool *addItemBool(const QString &name, bool &reference, bool defaultValue = false, const QString &key = QString());
+
+    /**
+     * Register an item of type @c qint32.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemInt *addItemInt(const QString &name, qint32 &reference, qint32 defaultValue = 0, const QString &key = QString());
+
+    /**
+     * Register an item of type @c quint32.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemUInt *addItemUInt(const QString &name, quint32 &reference, quint32 defaultValue = 0, const QString &key = QString());
+
+    /**
+     * Register an item of type @c qint64.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemLongLong *addItemLongLong(const QString &name, qint64 &reference, qint64 defaultValue = 0, const QString &key = QString());
+
+    /**
+     * Register an item of type @c quint64.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemULongLong *addItemULongLong(const QString &name, quint64 &reference, quint64 defaultValue = 0, const QString &key = QString());
+
+    /**
+     * Register an item of type @c double.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemDouble *addItemDouble(const QString &name, double &reference, double defaultValue = 0.0, const QString &key = QString());
+
+    /**
+     * Register an item of type QRect.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemRect *addItemRect(const QString &name, QRect &reference, const QRect &defaultValue = QRect(), const QString &key = QString());
+
+    /**
+     * Register an item of type QRectF.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemRectF *addItemRectF(const QString &name, QRectF &reference, const QRectF &defaultValue = QRectF(), const QString &key = QString());
+
+    /**
+     * Register an item of type QPoint.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemPoint *addItemPoint(const QString &name, QPoint &reference, const QPoint &defaultValue = QPoint(), const QString &key = QString());
+
+    /**
+     * Register an item of type QPointF.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemPointF *addItemPointF(const QString &name, QPointF &reference, const QPointF &defaultValue = QPointF(), const QString &key = QString());
+
+    /**
+     * Register an item of type QSize.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemSize *addItemSize(const QString &name, QSize &reference, const QSize &defaultValue = QSize(), const QString &key = QString());
+
+    /**
+     * Register an item of type QSizeF.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemSizeF *addItemSizeF(const QString &name, QSizeF &reference, const QSizeF &defaultValue = QSizeF(), const QString &key = QString());
+
+    /**
+     * Register an item of type QDateTime.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemDateTime *addItemDateTime(const QString &name, QDateTime &reference, const QDateTime &defaultValue = QDateTime(), const QString &key = QString());
+
+    /**
+     * Register an item of type QStringList.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemStringList *
+    addItemStringList(const QString &name, QStringList &reference, const QStringList &defaultValue = QStringList(), const QString &key = QString());
+
+    /**
+     * Register an item of type QList<int>.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by readConfig()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemIntList *addItemIntList(const QString &name, QList<int> &reference, const QList<int> &defaultValue = QList<int>(), const QString &key = QString());
+
+    /**
+     * Return the @ref KConfig object used for reading and writing the settings.
+     */
+    KConfig *config();
+
+    /**
+     * Return the @ref KConfig object used for reading and writing the settings.
+     */
+    const KConfig *config() const;
+
+    /**
+     * Return the @ref KConfig object used for reading and writing the settings.
+     * @since 5.0
+     */
+    KSharedConfig::Ptr sharedConfig() const;
+
+    /**
+     * Set the @ref KSharedConfig object used for reading and writing the settings.
+     */
+    void setSharedConfig(KSharedConfig::Ptr pConfig);
+
+    /**
+     * Return list of items managed by this KCoreConfigSkeleton object.
+     */
+    KConfigSkeletonItem::List items() const;
+
+    /**
+     * Removes and deletes an item by name
+     * @param name the name of the item to remove
+     */
+    void removeItem(const QString &name);
+
+    /**
+     * Removes and deletes all items
+     */
+    void clearItems();
+
+    /**
+     * Return whether a certain item is immutable
+     * @since 4.4
+     */
+    Q_INVOKABLE bool isImmutable(const QString &name) const;
+
+    /**
+     * Lookup item by name
+     * @since 4.4
+     */
+    KConfigSkeletonItem *findItem(const QString &name) const;
+
+    /**
+     * Specify whether this object should reflect the actual values or the
+     * default values.
+     * This method is implemented by usrUseDefaults(), which can be overridden
+     * in derived classes if you have special requirements and can call
+     * usrUseDefaults() directly.
+     * If you don't have control whether useDefaults() or usrUseDefaults() is
+     * called override useDefaults() directly.
+     * @param b @c true to make this object reflect the default values,
+     *          @c false to make it reflect the actual values.
+     * @return The state prior to this call
+     */
+    virtual bool useDefaults(bool b);
+
+public Q_SLOTS:
+    /**
+     * Write preferences to config file. The values of all registered items are
+     * written to disk.
+     * This method calls usrSave() after writing the settings from the
+     * registered items to the KConfig. You can override usrSave()
+     * in derived classes if you have special requirements.
+     */
+    bool save();
+
+Q_SIGNALS:
+    /**
+     * This signal is emitted when the configuration change.
+     */
+    void configChanged();
+
+protected:
+    /**
+     * Implemented by subclasses that use special defaults.
+     * It replaces the default values with the actual values and
+     * vice versa.  Called from @ref useDefaults()
+     * @param b @c true to make this object reflect the default values,
+     *          @c false to make it reflect the actual values.
+     * @return The state prior to this call
+     */
+    virtual bool usrUseDefaults(bool b);
+
+    /**
+     * Perform the actual setting of default values.
+     * Override in derived classes to set special default values.
+     * Called from @ref setDefaults()
+     */
+    virtual void usrSetDefaults();
+
+    /**
+     * Perform the actual reading of the configuration file.
+     * Override in derived classes to read special config values.
+     * Called from @ref read()
+     */
+    virtual void usrRead();
+
+    /**
+     * Perform the actual writing of the configuration file.
+     * Override in derived classes to write special config values.
+     * Called from @ref save()
+     */
+    virtual bool usrSave();
+
+private:
+    KCoreConfigSkeletonPrivate *const d;
+    friend class KConfigSkeleton;
+};
+
+Q_DECLARE_TYPEINFO(KCoreConfigSkeleton::ItemEnum::Choice, Q_RELOCATABLE_TYPE);
+
+#endif
diff --git a/src/core/kcoreconfigskeleton_p.h b/src/core/kcoreconfigskeleton_p.h
new file mode 100644 (file)
index 0000000..d0851d9
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+    This file is part of KOrganizer.
+    SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCORECONFIGSKELETON_P_H
+#define KCORECONFIGSKELETON_P_H
+
+#include "kcoreconfigskeleton.h"
+
+class KCoreConfigSkeletonPrivate
+{
+public:
+    KCoreConfigSkeletonPrivate()
+        : mCurrentGroup(QStringLiteral("No Group"))
+        , mUseDefaults(false)
+    {
+    }
+    ~KCoreConfigSkeletonPrivate()
+    {
+        qDeleteAll(mItems);
+    }
+    QString mCurrentGroup;
+
+    KSharedConfig::Ptr mConfig; // pointer to KConfig object
+
+    KConfigSkeletonItem::List mItems;
+    KConfigSkeletonItem::Dict mItemDict;
+
+    bool mUseDefaults;
+};
+
+class KConfigSkeletonItemPrivate
+{
+public:
+    KConfigSkeletonItemPrivate()
+        : mIsImmutable(true)
+        , mWriteFlags(KConfigBase::Normal)
+    {
+    }
+    virtual ~KConfigSkeletonItemPrivate();
+    bool mIsImmutable; ///< Indicates this item is immutable
+    KConfigBase::WriteConfigFlags mWriteFlags; ///< The flags to pass to calls of writeEntry() and revertToDefault()
+
+    QString mLabel; ///< The label for this item
+    QString mToolTip; ///< The ToolTip text for this item
+    QString mWhatsThis; ///< The What's This text for this item
+    KConfigGroup mConfigGroup; ///< KConfigGroup, allow to read/write item in nested groups
+
+    // HACK: Necessary to avoid introducing new virtuals in KConfigSkeletonItem
+    std::function<bool()> mIsDefaultImpl;
+    std::function<bool()> mIsSaveNeededImpl;
+    std::function<QVariant()> mGetDefaultImpl;
+};
+
+class KPropertySkeletonItemPrivate : public KConfigSkeletonItemPrivate
+{
+public:
+    KPropertySkeletonItemPrivate(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue)
+        : KConfigSkeletonItemPrivate()
+        , mObject(object)
+        , mPropertyName(propertyName)
+        , mDefaultValue(defaultValue)
+        , mConstDefaultValue(defaultValue)
+    {
+        mIsImmutable = false;
+    }
+
+    QObject *mObject;
+    const QByteArray mPropertyName;
+    QVariant mDefaultValue;
+    const QVariant mConstDefaultValue;
+    QVariant mReference;
+    QVariant mLoadedValue;
+    std::function<void()> mNotifyFunction;
+};
+
+#endif
diff --git a/src/core/kdesktopfile.cpp b/src/core/kdesktopfile.cpp
new file mode 100644 (file)
index 0000000..f28c8b7
--- /dev/null
@@ -0,0 +1,319 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Pietro Iglio <iglio@kde.org>
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kdesktopfile.h"
+
+#include "kauthorized.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfiggroup.h"
+#include "kconfigini_p.h"
+#include "kdesktopfileaction.h"
+
+#include <QDir>
+#include <QFileInfo>
+#include <QStandardPaths>
+#include <QUrl>
+
+#ifndef Q_OS_WIN
+#include <unistd.h>
+#endif
+
+#include <algorithm>
+
+class KDesktopFilePrivate : public KConfigPrivate
+{
+public:
+    KDesktopFilePrivate(QStandardPaths::StandardLocation resourceType, const QString &fileName)
+        : KConfigPrivate(KConfig::NoGlobals, resourceType)
+    {
+        changeFileName(fileName);
+    }
+    KConfigGroup desktopGroup;
+};
+
+KDesktopFile::KDesktopFile(QStandardPaths::StandardLocation resourceType, const QString &fileName)
+    : KConfig(*new KDesktopFilePrivate(resourceType, fileName))
+{
+    Q_D(KDesktopFile);
+    reparseConfiguration();
+    d->desktopGroup = KConfigGroup(this, QStringLiteral("Desktop Entry"));
+}
+
+KDesktopFile::KDesktopFile(const QString &fileName)
+    : KDesktopFile(QStandardPaths::ApplicationsLocation, fileName)
+{
+}
+
+KDesktopFile::~KDesktopFile() = default;
+
+KConfigGroup KDesktopFile::desktopGroup() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup;
+}
+
+QString KDesktopFile::locateLocal(const QString &path)
+{
+    static const QLatin1Char slash('/');
+
+    // Relative to config? (e.g. for autostart)
+    const QStringList genericConfig = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation);
+    // Iterate from the last item since some items may be subfolders of others.
+    auto it = std::find_if(genericConfig.crbegin(), genericConfig.crend(), [&path](const QString &dir) {
+        return path.startsWith(dir + slash);
+    });
+    if (it != genericConfig.crend()) {
+        return QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + slash + QStringView(path).mid(it->size() + 1);
+    }
+
+    QString relativePath;
+    // Relative to xdg data dir? (much more common)
+    const QStringList lstGenericDataLocation = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
+    for (const QString &dir : lstGenericDataLocation) {
+        if (path.startsWith(dir + slash)) {
+            relativePath = path.mid(dir.length() + 1);
+        }
+    }
+    if (relativePath.isEmpty()) {
+        // What now? The desktop file doesn't come from XDG_DATA_DIRS. Use filename only and hope for the best.
+        relativePath = path.mid(path.lastIndexOf(slash) + 1);
+    }
+    return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + slash + relativePath;
+}
+
+bool KDesktopFile::isDesktopFile(const QString &path)
+{
+    return path.endsWith(QLatin1String(".desktop"));
+}
+
+bool KDesktopFile::isAuthorizedDesktopFile(const QString &path)
+{
+    if (path.isEmpty()) {
+        return false; // Empty paths are not ok.
+    }
+
+    if (QDir::isRelativePath(path)) {
+        return true; // Relative paths are ok.
+    }
+
+    const QString realPath = QFileInfo(path).canonicalFilePath();
+    if (realPath.isEmpty()) {
+        return false; // File doesn't exist.
+    }
+
+#ifndef Q_OS_WIN
+    static constexpr Qt::CaseSensitivity sensitivity = Qt::CaseSensitive;
+#else
+    static constexpr Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive;
+#endif
+
+    // Check if the .desktop file is installed as part of KDE or XDG.
+    const QStringList appsDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
+    auto it = std::find_if(appsDirs.cbegin(), appsDirs.cend(), [&realPath, &path](const QString &prefix) {
+        QFileInfo info(prefix);
+        return info.exists() && info.isDir() && (realPath.startsWith(info.canonicalFilePath(), sensitivity) || path.startsWith(info.canonicalFilePath()));
+    });
+    if (it != appsDirs.cend()) {
+        return true;
+    }
+
+    const QString autostartDir = QStringLiteral("autostart/");
+    const QStringList lstConfigPath = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation);
+    auto configIt = std::find_if(lstConfigPath.cbegin(), lstConfigPath.cend(), [&realPath, &autostartDir](const QString &xdgDataPrefix) {
+        QFileInfo info(xdgDataPrefix);
+        if (info.exists() && info.isDir()) {
+            const QString prefix = info.canonicalFilePath();
+            return realPath.startsWith(prefix + QLatin1Char('/') + autostartDir, sensitivity);
+        }
+        return false;
+    });
+    if (configIt != lstConfigPath.cend()) {
+        return true;
+    }
+
+    // Forbid desktop files outside of standard locations if kiosk is set so
+    if (!KAuthorized::authorize(QStringLiteral("run_desktop_files"))) {
+        qCWarning(KCONFIG_CORE_LOG) << "Access to" << path << "denied because of 'run_desktop_files' restriction.";
+        return false;
+    }
+
+    // Not otherwise permitted, so only allow if the file is executable, or if
+    // owned by root (uid == 0)
+    QFileInfo entryInfo(path);
+    if (entryInfo.isExecutable() || entryInfo.ownerId() == 0) {
+        return true;
+    }
+
+    qCInfo(KCONFIG_CORE_LOG) << "Access to" << path << "denied, not owned by root and executable flag not set.";
+    return false;
+}
+
+QString KDesktopFile::readType() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("Type", QString());
+}
+
+QString KDesktopFile::readIcon() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("Icon", QString());
+}
+
+QString KDesktopFile::readName() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("Name", QString());
+}
+
+QString KDesktopFile::readComment() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("Comment", QString());
+}
+
+QString KDesktopFile::readGenericName() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("GenericName", QString());
+}
+
+QString KDesktopFile::readPath() const
+{
+    Q_D(const KDesktopFile);
+    // NOT readPathEntry, it is not XDG-compliant: it performs
+    // various expansions, like $HOME.  Note that the expansion
+    // behaviour still happens if the "e" flag is set, maintaining
+    // backwards compatibility.
+    return d->desktopGroup.readEntry("Path", QString());
+}
+
+QString KDesktopFile::readUrl() const
+{
+    Q_D(const KDesktopFile);
+    if (hasDeviceType()) {
+        return d->desktopGroup.readEntry("MountPoint", QString());
+    } else {
+        // NOT readPathEntry (see readPath())
+        QString url = d->desktopGroup.readEntry("URL", QString());
+        if (!url.isEmpty() && !QDir::isRelativePath(url)) {
+            // Handle absolute paths as such (i.e. we need to escape them)
+            return QUrl::fromLocalFile(url).toString();
+        }
+        return url;
+    }
+}
+
+QStringList KDesktopFile::readActions() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readXdgListEntry("Actions");
+}
+
+QStringList KDesktopFile::readMimeTypes() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readXdgListEntry("MimeType");
+}
+
+KConfigGroup KDesktopFile::actionGroup(const QString &group)
+{
+    return KConfigGroup(this, QLatin1String("Desktop Action ") + group);
+}
+
+KConfigGroup KDesktopFile::actionGroup(const QString &group) const
+{
+    return const_cast<KDesktopFile *>(this)->actionGroup(group);
+}
+
+bool KDesktopFile::hasActionGroup(const QString &group) const
+{
+    return hasGroup(QString(QLatin1String("Desktop Action ") + group));
+}
+
+bool KDesktopFile::hasLinkType() const
+{
+    return readType() == QLatin1String("Link");
+}
+
+bool KDesktopFile::hasApplicationType() const
+{
+    return readType() == QLatin1String("Application");
+}
+
+bool KDesktopFile::hasDeviceType() const
+{
+    return readType() == QLatin1String("FSDevice");
+}
+
+bool KDesktopFile::tryExec() const
+{
+    Q_D(const KDesktopFile);
+    // Test for TryExec and "X-KDE-AuthorizeAction"
+    // NOT readPathEntry (see readPath())
+    const QString te = d->desktopGroup.readEntry("TryExec", QString());
+    if (!te.isEmpty() && QStandardPaths::findExecutable(te).isEmpty()) {
+        return false;
+    }
+    const QStringList list = d->desktopGroup.readEntry("X-KDE-AuthorizeAction", QStringList());
+    const auto isNotAuthorized = std::any_of(list.cbegin(), list.cend(), [](const QString &action) {
+        return !KAuthorized::authorize(action.trimmed());
+    });
+    if (isNotAuthorized) {
+        return false;
+    }
+
+    // See also KService::username()
+    if (d->desktopGroup.readEntry("X-KDE-SubstituteUID", false)) {
+        QString user = d->desktopGroup.readEntry("X-KDE-Username", QString());
+        if (user.isEmpty()) {
+            user = qEnvironmentVariable("ADMIN_ACCOUNT"), QStringLiteral("root");
+        }
+        if (!KAuthorized::authorize(QLatin1String("user/") + user)) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+QString KDesktopFile::readDocPath() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readPathEntry("X-DocPath", QString());
+}
+
+KDesktopFile *KDesktopFile::copyTo(const QString &file) const
+{
+    KDesktopFile *config = new KDesktopFile(QString());
+    this->KConfig::copyTo(file, config);
+    return config;
+}
+
+QString KDesktopFile::fileName() const
+{
+    return name();
+}
+
+bool KDesktopFile::noDisplay() const
+{
+    Q_D(const KDesktopFile);
+    return d->desktopGroup.readEntry("NoDisplay", false);
+}
+
+QList<KDesktopFileAction> KDesktopFile::actions() const
+{
+    QList<KDesktopFileAction> desktopFileActions;
+    const QStringList actionKeys = readActions();
+    for (const QString &actionKey : actionKeys) {
+        const KConfigGroup grp = actionGroup(actionKey);
+        desktopFileActions << KDesktopFileAction(actionKey, grp.readEntry("Name"), grp.readEntry("Icon"), grp.readEntry("Exec"), fileName());
+    }
+    return desktopFileActions;
+}
diff --git a/src/core/kdesktopfile.h b/src/core/kdesktopfile.h
new file mode 100644 (file)
index 0000000..be53cd2
--- /dev/null
@@ -0,0 +1,238 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Pietro Iglio <iglio@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KDESKTOPFILE_H
+#define KDESKTOPFILE_H
+
+#include <kconfig.h>
+
+class KConfigGroup;
+class KDesktopFileAction;
+class KDesktopFilePrivate;
+
+/**
+ * \class KDesktopFile kdesktopfile.h <KDesktopFile>
+ *
+ * %KDE Desktop File Management.
+ * This class implements %KDE's support for the freedesktop.org
+ * <em>Desktop Entry Spec</em>.
+ *
+ * @author Pietro Iglio <iglio@kde.org>
+ * @see  KConfigBase  KConfig
+ * @see <a href="https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html">Desktop Entry Spec</a>
+ */
+class KCONFIGCORE_EXPORT KDesktopFile : public KConfig
+{
+public:
+    /**
+     * Constructs a KDesktopFile object.
+     *
+     * See QStandardPaths for more information on resources.
+     *
+     * @param resourceType   Allows you to change what sort of resource
+     *                       to search for if @p fileName is not absolute.
+     *                       For instance, you might want to specify GenericConfigLocation.
+     * @param fileName       The name or path of the desktop file. If it
+     *                       is not absolute, it will be located
+     *                       using the resource type @p resType.
+     */
+    explicit KDesktopFile(QStandardPaths::StandardLocation resourceType, const QString &fileName);
+
+    /**
+     * Constructs a KDesktopFile object.
+     *
+     * See QStandardPaths for more information on resources.
+     *
+     * @param fileName       The name or path of the desktop file. If it
+     *                       is not absolute, it will be located
+     *                       using the resource type ApplicationsLocation
+     */
+    explicit KDesktopFile(const QString &fileName);
+
+    /**
+     * Destructs the KDesktopFile object.
+     *
+     * Writes back any changed configuration entries.
+     */
+    ~KDesktopFile() override;
+
+    /**
+     * Checks whether this is really a desktop file.
+     *
+     * The check is performed looking at the file extension (the file is not
+     * opened).
+     * Currently, the only valid extension is ".desktop".
+     * @param path the path of the file to check
+     * @return true if the file appears to be a desktop file.
+     */
+    static bool isDesktopFile(const QString &path);
+
+    /**
+     * Checks whether the user is authorized to run this desktop file.
+     * By default users are authorized to run all desktop files but
+     * the KIOSK framework can be used to activate certain restrictions.
+     * See README.kiosk for more information.
+     *
+     * Note that desktop files that are not in a standard location (as
+     * specified by XDG_DATA_DIRS) must have their executable bit set
+     * to be authorized, regardless of KIOSK settings, to prevent users
+     * from inadvertently running trojan desktop files.
+     *
+     * @param path the file to check
+     * @return true if the user is authorized to run the file
+     */
+    static bool isAuthorizedDesktopFile(const QString &path);
+
+    /**
+     * Returns the location where changes for the .desktop file @p path
+     * should be written to.
+     */
+    static QString locateLocal(const QString &path);
+
+    /**
+     * Returns the main config group (named "Desktop Entry") in a .desktop file.
+     */
+    KConfigGroup desktopGroup() const;
+
+    /**
+     * Returns the value of the "Type=" entry.
+     * @return the type or QString() if not specified
+     */
+    QString readType() const;
+
+    /**
+     * Returns the value of the "Icon=" entry.
+     * @return the icon or QString() if not specified
+     */
+    QString readIcon() const;
+
+    /**
+     * Returns the value of the "Name=" entry.
+     * @return the name or QString() if not specified
+     */
+    QString readName() const;
+
+    /**
+     * Returns the value of the "Comment=" entry.
+     * @return the comment or QString() if not specified
+     */
+    QString readComment() const;
+
+    /**
+     * Returns the value of the "GenericName=" entry.
+     * @return the generic name or QString() if not specified
+     */
+    QString readGenericName() const;
+
+    /**
+     * Returns the value of the "Path=" entry.
+     * @return the path or QString() if not specified
+     */
+    QString readPath() const;
+
+    /**
+     * Returns the value of the "URL=" entry.
+     * @return the URL or QString() if not specified
+     */
+    QString readUrl() const;
+
+    /**
+     * Returns a list of the "Actions=" entries.
+     * @return the list of actions
+     */
+    QStringList readActions() const;
+
+    /**
+     * Returns a list of the "MimeType=" entries.
+     * @return the list of mime types
+     * @since 5.15
+     */
+    QStringList readMimeTypes() const;
+
+    /**
+     * Sets the desktop action group.
+     * @param group the new action group
+     */
+    KConfigGroup actionGroup(const QString &group);
+    KConfigGroup actionGroup(const QString &group) const;
+
+    /**
+     * Returns true if the action group exists, false otherwise
+     * @param group the action group to test
+     * @return true if the action group exists
+     */
+    bool hasActionGroup(const QString &group) const;
+
+    /**
+     * Checks whether there is a "Type=Link" entry.
+     *
+     * The link points to the "URL=" entry.
+     * @return true if there is a "Type=Link" entry
+     */
+    bool hasLinkType() const;
+
+    /**
+     * Checks whether there is an entry "Type=Application".
+     * @return true if there is a "Type=Application" entry
+     */
+    bool hasApplicationType() const;
+
+    /**
+     * Checks whether there is an entry "Type=FSDevice".
+     * @return true if there is a "Type=FSDevice" entry
+     */
+    bool hasDeviceType() const;
+
+    /**
+     * Checks whether the TryExec field contains a binary
+     * which is found on the local system.
+     * @return true if TryExec contains an existing binary
+     */
+    bool tryExec() const;
+
+    /**
+     * Returns the value of the "X-DocPath=" Or "DocPath=" entry.
+     * @return The value of the "X-DocPath=" Or "DocPath=" entry.
+     */
+    QString readDocPath() const;
+
+    /**
+     * Whether the entry should be suppressed in menus.
+     * This handles the NoDisplay key
+     * @return true to suppress this desktop file
+     * @since 4.1
+     */
+    bool noDisplay() const;
+
+    /**
+     * Copies all entries from this config object to a new
+     * KDesktopFile object that will save itself to @p file.
+     *
+     * Actual saving to @p file happens when the returned object is
+     * destructed or when sync() is called upon it.
+     *
+     * @param file the new KDesktopFile object it will save itself to.
+     */
+    KDesktopFile *copyTo(const QString &file) const;
+
+    /**
+     * Returns the name of the .desktop file that was used to construct this KDesktopFile.
+     */
+    QString fileName() const;
+
+    /**
+     *
+     * @since 6.0
+     */
+    QList<KDesktopFileAction> actions() const;
+
+private:
+    Q_DISABLE_COPY(KDesktopFile)
+
+    Q_DECLARE_PRIVATE(KDesktopFile)
+};
+
+#endif
diff --git a/src/core/kdesktopfileaction.cpp b/src/core/kdesktopfileaction.cpp
new file mode 100644 (file)
index 0000000..e2c9b1a
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+    SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "kdesktopfileaction.h"
+#include <QSharedData>
+
+class KDesktopFileActionPrivate : public QSharedData
+{
+public:
+    QString m_internalActionKey;
+    QString m_name;
+    QString m_icon;
+    QString m_exec;
+    QString m_desktopFilePath;
+
+    KDesktopFileActionPrivate(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath)
+        : m_internalActionKey(name)
+        , m_name(text)
+        , m_icon(icon)
+        , m_exec(exec)
+        , m_desktopFilePath(desktopFilePath)
+    {
+    }
+    KDesktopFileActionPrivate() = default;
+};
+
+KDesktopFileAction::KDesktopFileAction(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath)
+    : d(new KDesktopFileActionPrivate(name, text, icon, exec, desktopFilePath))
+{
+}
+
+KDesktopFileAction::KDesktopFileAction()
+    : d(new KDesktopFileActionPrivate())
+{
+}
+
+KDesktopFileAction::KDesktopFileAction(const KDesktopFileAction &other) = default;
+KDesktopFileAction &KDesktopFileAction::operator=(const KDesktopFileAction &other) = default;
+KDesktopFileAction::KDesktopFileAction(KDesktopFileAction &&other) = default;
+KDesktopFileAction &KDesktopFileAction::operator=(KDesktopFileAction &&other) = default;
+KDesktopFileAction::~KDesktopFileAction() = default;
+
+QString KDesktopFileAction::actionsKey() const
+{
+    return d->m_internalActionKey;
+}
+
+QString KDesktopFileAction::desktopFilePath() const
+{
+    return d->m_desktopFilePath;
+}
+
+QString KDesktopFileAction::name() const
+{
+    return d->m_name;
+}
+
+QString KDesktopFileAction::icon() const
+{
+    return d->m_icon;
+}
+
+QString KDesktopFileAction::exec() const
+{
+    return d->m_exec;
+}
+
+bool KDesktopFileAction::isSeparator() const
+{
+    return d->m_internalActionKey == QLatin1String("_SEPARATOR_");
+}
diff --git a/src/core/kdesktopfileaction.h b/src/core/kdesktopfileaction.h
new file mode 100644 (file)
index 0000000..e6dc071
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+    SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KDESKTOPFILEACTION_H
+#define KDESKTOPFILEACTION_H
+#include <kconfigcore_export.h>
+
+#include <QSharedDataPointer>
+#include <QString>
+
+class KDesktopFileActionPrivate;
+
+/**
+ * Class for representing an Action of a desktop file
+ *
+ * @since 6.0
+ */
+class KCONFIGCORE_EXPORT KDesktopFileAction
+{
+public:
+    /**
+     * Construct an empty KDesktopFileAction. Needed so the Action can be stored in containers that require type T to be
+     * default constructible (e.g. QVariant).
+     */
+    explicit KDesktopFileAction();
+    /**
+     * Construct a KDesktopFileAction with all required properties
+     */
+    explicit KDesktopFileAction(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath);
+
+    KDesktopFileAction(const KDesktopFileAction &other);
+    KDesktopFileAction &operator=(const KDesktopFileAction &other);
+    KDesktopFileAction(KDesktopFileAction &&other);
+    KDesktopFileAction &operator=(KDesktopFileAction &&other);
+    ~KDesktopFileAction();
+
+    /**
+     * @return the action's internal name
+     * For instance Actions=Setup;... and the group [Desktop Action Setup]
+     * define an action with the name "Setup".
+     */
+    QString actionsKey() const;
+
+    /**
+     * @return Path of the desktop file this action was loaded from
+     */
+    QString desktopFilePath() const;
+
+    /**
+     * @return the action's Name, as defined by the Name key in the desktop action group
+     */
+    QString name() const;
+
+    /**
+     * @return the action's icon, as defined by the Icon key in the desktop action group
+     */
+    QString icon() const;
+
+    /**
+     * @return the action's exec command, as defined by the Exec key in the desktop action group
+     */
+    QString exec() const;
+
+    /**
+     * Returns whether the action is a separator.
+     * This is true when the Actions key contains "_SEPARATOR_".
+     */
+    bool isSeparator() const;
+
+private:
+    QSharedDataPointer<KDesktopFileActionPrivate> d;
+};
+#endif
diff --git a/src/core/kemailsettings.cpp b/src/core/kemailsettings.cpp
new file mode 100644 (file)
index 0000000..9f529da
--- /dev/null
@@ -0,0 +1,148 @@
+/*
+    SPDX-FileCopyrightText: 2000 Alex Zepeda <zipzippy@sonic.net>
+
+    SPDX-License-Identifier: BSD-2-Clause
+*/
+
+#include "kemailsettings.h"
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+class KEMailSettingsPrivate
+{
+public:
+    KEMailSettingsPrivate()
+        : m_pConfig(nullptr)
+    {
+    }
+    ~KEMailSettingsPrivate()
+    {
+        delete m_pConfig;
+    }
+    KConfig *m_pConfig;
+    QStringList profiles;
+    QString m_sDefaultProfile, m_sCurrentProfile;
+};
+
+QString KEMailSettings::defaultProfileName() const
+{
+    return p->m_sDefaultProfile;
+}
+
+QString KEMailSettings::getSetting(KEMailSettings::Setting s) const
+{
+    KConfigGroup cg(p->m_pConfig, QLatin1String("PROFILE_") + p->m_sCurrentProfile);
+    switch (s) {
+    case ClientProgram: {
+        return cg.readEntry("EmailClient");
+    }
+    case ClientTerminal: {
+        return cg.readEntry("TerminalClient", QVariant(false)).toString();
+    }
+    case RealName: {
+        return cg.readEntry("FullName");
+    }
+    case EmailAddress: {
+        return cg.readEntry("EmailAddress");
+    }
+    case ReplyToAddress: {
+        return cg.readEntry("ReplyAddr");
+    }
+    case Organization: {
+        return cg.readEntry("Organization");
+    }
+    };
+    return QString();
+}
+void KEMailSettings::setSetting(KEMailSettings::Setting s, const QString &v)
+{
+    KConfigGroup cg(p->m_pConfig, QLatin1String("PROFILE_") + p->m_sCurrentProfile);
+    switch (s) {
+    case ClientProgram: {
+        cg.writePathEntry("EmailClient", v);
+        break;
+    }
+    case ClientTerminal: {
+        cg.writeEntry("TerminalClient", (v == QLatin1String("true")));
+        break;
+    }
+    case RealName: {
+        cg.writeEntry("FullName", v);
+        break;
+    }
+    case EmailAddress: {
+        cg.writeEntry("EmailAddress", v);
+        break;
+    }
+    case ReplyToAddress: {
+        cg.writeEntry("ReplyAddr", v);
+        break;
+    }
+    case Organization: {
+        cg.writeEntry("Organization", v);
+        break;
+    }
+    };
+    cg.sync();
+}
+
+void KEMailSettings::setDefault(const QString &s)
+{
+    p->m_pConfig->group(QStringLiteral("Defaults")).writeEntry("Profile", s);
+    p->m_pConfig->sync();
+    p->m_sDefaultProfile = s;
+}
+
+void KEMailSettings::setProfile(const QString &s)
+{
+    const QString groupname = QLatin1String("PROFILE_") + s;
+    p->m_sCurrentProfile = s;
+    if (!p->m_pConfig->hasGroup(groupname)) { // Create a group if it doesn't exist
+        KConfigGroup cg(p->m_pConfig, groupname);
+        cg.writeEntry("ServerType", QString());
+        p->profiles += s;
+    }
+}
+
+QStringList KEMailSettings::profiles() const
+{
+    return p->profiles;
+}
+
+KEMailSettings::KEMailSettings()
+    : p(new KEMailSettingsPrivate())
+{
+    p->m_sCurrentProfile.clear();
+
+    p->m_pConfig = new KConfig(QStringLiteral("emaildefaults"));
+
+    const QStringList groups = p->m_pConfig->groupList();
+    for (const auto &grp : groups) {
+        if (grp.startsWith(QLatin1String("PROFILE_"))) {
+            p->profiles += grp.mid(8 /* length of "PROFILE_" */);
+        }
+    }
+
+    KConfigGroup cg(p->m_pConfig, QStringLiteral("Defaults"));
+    p->m_sDefaultProfile = cg.readEntry("Profile", tr("Default"));
+    if (!p->m_sDefaultProfile.isNull()) {
+        if (!p->m_pConfig->hasGroup(QLatin1String("PROFILE_") + p->m_sDefaultProfile)) {
+            setDefault(tr("Default"));
+        } else {
+            setDefault(p->m_sDefaultProfile);
+        }
+    } else {
+        if (!p->profiles.isEmpty()) {
+            setDefault(p->profiles[0]);
+        } else {
+            setDefault(tr("Default"));
+        }
+    }
+    setProfile(defaultProfileName());
+}
+
+KEMailSettings::~KEMailSettings()
+{
+    delete p;
+}
diff --git a/src/core/kemailsettings.h b/src/core/kemailsettings.h
new file mode 100644 (file)
index 0000000..07ad3aa
--- /dev/null
@@ -0,0 +1,105 @@
+/*
+    SPDX-FileCopyrightText: 2000 Alex Zepeda <zipzippy@sonic.net>
+
+    SPDX-License-Identifier: BSD-2-Clause
+*/
+
+#ifndef _KEMAILSETTINGS_H
+#define _KEMAILSETTINGS_H
+
+#include <QCoreApplication> // Q_DECLARE_TR_FUNCTIONS
+#include <QStringList>
+
+#include <kconfigcore_export.h>
+
+class KEMailSettingsPrivate;
+
+/**
+ * \class KEMailSettings kemailsettings.h <KEMailSettings>
+ *
+ * This is just a small class to facilitate accessing e-mail settings in
+ * a sane way, and allowing any program to manage multiple e-mail
+ * profiles effortlessly
+ *
+ * The default profile is automatically selected in the constructor.
+ *
+ * @author Alex Zepeda zipzippy@sonic.net
+ **/
+class KCONFIGCORE_EXPORT KEMailSettings
+{
+    Q_DECLARE_TR_FUNCTIONS(KEMailSettings)
+public:
+    /**
+     * The list of settings that I thought of when I wrote this
+     * class.
+     * @see getSetting()
+     * @see setSetting()
+     **/
+    enum Setting {
+        ClientProgram,
+        ClientTerminal,
+        RealName,
+        EmailAddress,
+        ReplyToAddress,
+        Organization,
+    };
+
+    /**
+     * Default constructor, just sets things up and sets the default profile
+     * as the current profile
+     **/
+    KEMailSettings();
+
+    KEMailSettings(const KEMailSettings &) = delete;
+    KEMailSettings &operator=(const KEMailSettings &) = delete;
+
+    /**
+     * Default destructor, nothing to see here.
+     **/
+    ~KEMailSettings();
+
+    /**
+     * List of profiles available.
+     * @return the list of profiles
+     **/
+    QStringList profiles() const;
+
+    /**
+     * Change the current profile.
+     * @param s the name of the new profile
+     **/
+    void setProfile(const QString &s);
+
+    /**
+     * Returns the name of the default profile.
+     * @returns the name of the one that's currently default QString() if none
+     **/
+    QString defaultProfileName() const;
+
+    /**
+     * Sets a new default.
+     * @param def the new default
+     **/
+    void setDefault(const QString &def);
+
+    /**
+     * Get one of the predefined "basic" settings.
+     * @param s the setting to get
+     * @return the value of the setting, or QString() if not
+     *         set
+     **/
+    QString getSetting(KEMailSettings::Setting s) const;
+
+    /**
+     * Set one of the predefined "basic" settings.
+     * @param s the setting to set
+     * @param v the new value of the setting, or QString() to
+     *         unset
+     **/
+    void setSetting(KEMailSettings::Setting s, const QString &v);
+
+private:
+    KEMailSettingsPrivate *const p;
+};
+
+#endif
diff --git a/src/core/ksharedconfig.cpp b/src/core/ksharedconfig.cpp
new file mode 100644 (file)
index 0000000..3689613
--- /dev/null
@@ -0,0 +1,202 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+    SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "ksharedconfig.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfiggroup.h"
+#include <QCoreApplication>
+#include <QThread>
+#include <QThreadStorage>
+
+using namespace Qt::StringLiterals;
+
+void _k_globalMainConfigSync();
+
+using SharedConfigList = QList<KSharedConfig *>;
+
+class GlobalSharedConfig
+{
+public:
+    GlobalSharedConfig()
+        : wasTestModeEnabled(false)
+    {
+        if (!qApp || QThread::currentThread() == qApp->thread()) {
+            // We want to force the sync() before the QCoreApplication
+            // instance is gone. Otherwise we trigger a QLockFile::lock()
+            // after QCoreApplication is gone, calling qAppName() for a non
+            // existent app...
+            qAddPostRoutine(&_k_globalMainConfigSync);
+        }
+        // In other threads, QThreadStorage takes care of deleting the GlobalSharedConfigList when
+        // the thread exits.
+    }
+
+    SharedConfigList configList;
+    // in addition to the list, we need to hold the main config,
+    // so that it's not created and destroyed all the time.
+    KSharedConfigPtr mainConfig;
+    bool wasTestModeEnabled;
+};
+
+static QThreadStorage<GlobalSharedConfig *> s_storage;
+template<typename T>
+T *perThreadGlobalStatic()
+{
+    if (!s_storage.hasLocalData()) {
+        s_storage.setLocalData(new T);
+    }
+    return s_storage.localData();
+}
+
+// Q_GLOBAL_STATIC(GlobalSharedConfigList, globalSharedConfigList), but per thread:
+static GlobalSharedConfig *globalSharedConfig()
+{
+    return perThreadGlobalStatic<GlobalSharedConfig>();
+}
+
+namespace
+{
+[[nodiscard]] QString migrateStateRc(const QString &fileName)
+{
+    // Migrate from an old legacy path to new spec compliant ~/.local/state/
+    // https://gitlab.freedesktop.org/xdg/xdg-specs/-/blob/master/basedir/basedir-spec.xml
+    // TODO KF7: refactor openStateConfig so it always opens from XDG_STATE_HOME instead of the legacy when on an XDG platform
+
+#if !defined(Q_OS_WINDOWS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_MACOS)
+    if (QFileInfo(fileName).isAbsolute()) {
+        return fileName;
+    }
+
+    static auto xdgStateHome = qEnvironmentVariable("XDG_STATE_HOME", QDir::homePath() + "/.local/state"_L1);
+    if (fileName.startsWith(xdgStateHome)) [[unlikely]] {
+        return fileName;
+    }
+
+    QString newPath = xdgStateHome + "/"_L1 + fileName; // intentionally not const so it can be move returned
+    QString oldPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, fileName);
+    if (oldPath.isEmpty()) { // nothing to migrate
+        return newPath;
+    }
+    if (QFile::exists(oldPath) && QFile::exists(newPath)) {
+        qCDebug(KCONFIG_CORE_LOG) << "Old staterc and new staterc found. Not migrating! Using new path" << newPath;
+        return newPath;
+    }
+
+    if (QFile::exists(newPath)) { // already migrated
+        return newPath;
+    }
+
+    // Migrate legacy files.
+    // On failure we return the new path because we want higher level technology to surface the new path for read/write errors.
+    if (!QDir().exists(xdgStateHome)) {
+        if (!QDir().mkpath(xdgStateHome)) {
+            qCWarning(KCONFIG_CORE_LOG) << "Failed to make state directory" << xdgStateHome;
+            return newPath;
+        }
+    }
+    qCInfo(KCONFIG_CORE_LOG) << "Migrating old staterc" << oldPath << "->" << newPath;
+    if (!QFile::rename(oldPath, newPath)) {
+        qCWarning(KCONFIG_CORE_LOG) << "Failed to migrate" << oldPath << "->" << newPath;
+        return newPath;
+    }
+
+    return newPath;
+#else
+    return fileName;
+#endif
+}
+} // namespace
+
+void _k_globalMainConfigSync()
+{
+    if (KSharedConfigPtr mainConfig = globalSharedConfig()->mainConfig) {
+        mainConfig->sync();
+    }
+}
+
+KSharedConfigPtr KSharedConfig::openConfig(const QString &_fileName, OpenFlags flags, QStandardPaths::StandardLocation resType)
+{
+    QString fileName(_fileName);
+    GlobalSharedConfig *global = globalSharedConfig();
+    if (fileName.isEmpty() && !flags.testFlag(KConfig::SimpleConfig)) {
+        // Determine the config file name that KConfig will make up (see KConfigPrivate::changeFileName)
+        fileName = KConfig::mainConfigName();
+    }
+
+    if (!global->wasTestModeEnabled && QStandardPaths::isTestModeEnabled()) {
+        global->wasTestModeEnabled = true;
+        global->configList.clear();
+        global->mainConfig = nullptr;
+    }
+
+    for (auto *cfg : std::as_const(global->configList)) {
+        if (cfg->name() == fileName && cfg->d_ptr->openFlags == flags && cfg->locationType() == resType) {
+            return KSharedConfigPtr(cfg);
+        }
+    }
+
+    KSharedConfigPtr ptr(new KSharedConfig(fileName, flags, resType));
+
+    if (_fileName.isEmpty() && flags == FullConfig && resType == QStandardPaths::GenericConfigLocation) {
+        global->mainConfig = ptr;
+
+        const bool isMainThread = !qApp || QThread::currentThread() == qApp->thread();
+        static bool userWarned = false;
+        if (isMainThread && !userWarned) {
+            userWarned = true;
+            const bool isReadOnly = qEnvironmentVariableIsEmpty("KDE_HOME_READONLY");
+            if (isReadOnly && QCoreApplication::applicationName() != QLatin1String("kdialog")) {
+                if (ptr->group(QStringLiteral("General")).readEntry(QStringLiteral("warn_unwritable_config"), true)) {
+                    ptr->isConfigWritable(true);
+                }
+            }
+        }
+    }
+
+    return ptr;
+}
+
+KSharedConfig::Ptr KSharedConfig::openStateConfig(const QString &_fileName)
+{
+    QString fileName(_fileName);
+
+    if (fileName.isEmpty()) {
+        fileName = QCoreApplication::applicationName() + QLatin1String("staterc");
+    }
+
+    return openConfig(migrateStateRc(fileName),
+                      SimpleConfig,
+                      QStandardPaths::AppDataLocation /* only used on !XDG platform, on XDG we resolve an absolute path (unless there are problems) */);
+}
+
+KSharedConfig::KSharedConfig(const QString &fileName, OpenFlags flags, QStandardPaths::StandardLocation resType)
+    : KConfig(fileName, flags, resType)
+{
+    globalSharedConfig()->configList.append(this);
+}
+
+KSharedConfig::~KSharedConfig()
+{
+    if (s_storage.hasLocalData()) {
+        globalSharedConfig()->configList.removeAll(this);
+    }
+}
+
+KConfigGroup KSharedConfig::groupImpl(const QString &groupName)
+{
+    KSharedConfigPtr ptr(this);
+    return KConfigGroup(ptr, groupName);
+}
+
+const KConfigGroup KSharedConfig::groupImpl(const QString &groupName) const
+{
+    const KSharedConfigPtr ptr(const_cast<KSharedConfig *>(this));
+    return KConfigGroup(ptr, groupName);
+}
diff --git a/src/core/ksharedconfig.h b/src/core/ksharedconfig.h
new file mode 100644 (file)
index 0000000..13881fa
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+    SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSHAREDCONFIG_H
+#define KSHAREDCONFIG_H
+
+#include <QExplicitlySharedDataPointer>
+#include <kconfig.h>
+
+/**
+ * \class KSharedConfig ksharedconfig.h <KSharedConfig>
+ *
+ * KConfig variant using shared memory
+ *
+ * KSharedConfig provides a shared (reference counted) variant
+ * of KConfig. This allows you to use/manipulate the same configuration
+ * files from different places in your code without worrying about
+ * accidentally overwriting changes.
+ *
+ * The openConfig() method is threadsafe: every thread gets a separate repository
+ * of shared KConfig objects. This means, however, that you'll be responsible for
+ * synchronizing the instances of KConfig for the same filename between threads,
+ * using KConfig::reparseConfiguration() after a manual change notification, just like you have
+ * to do between processes.
+ */
+class KCONFIGCORE_EXPORT KSharedConfig : public KConfig, public QSharedData // krazy:exclude=dpointer (only for refcounting)
+{
+public:
+    typedef QExplicitlySharedDataPointer<KSharedConfig> Ptr;
+
+public:
+    /**
+     * Creates a KSharedConfig object to manipulate a configuration file
+     *
+     * If an absolute path is specified for @p fileName, that file will be used
+     * as the store for the configuration settings.  If a non-absolute path
+     * is provided, the file will be looked for in the standard directory
+     * specified by @p type.  If no path is provided, a default
+     * configuration file will be used based on the name of the main
+     * application component.
+     *
+     * @p mode determines whether the user or global settings will be allowed
+     * to influence the values returned by this object.  See KConfig::OpenFlags for
+     * more details.
+     *
+     * @param fileName     the configuration file to open. If empty, it will be determined
+     *                     automatically (from --config on the command line, otherwise
+     *                     from the application name + "rc")
+     * @param mode         how global settings should affect the configuration
+     *                     options exposed by this KConfig object
+     * @param type         The standard directory to look for the configuration
+     *                     file in (see QStandardPaths)
+     *
+     * @sa KConfig
+     */
+    static KSharedConfig::Ptr
+    openConfig(const QString &fileName = QString(), OpenFlags mode = FullConfig, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+
+    /**
+     * Creates a KSharedConfig object to manipulate a configuration file suitable
+     * for storing state information. Use this for storing information that is
+     * changing frequently and should not be saved by configuration backup
+     * utilities.
+     *
+     * If an absolute path is specified for @p fileName, that file will be used
+     * as the store for the configuration settings. If a non-absolute path
+     * is provided, the file will be looked for in the standard data directory
+     * (QStandardPaths::AppDataLocation). If no path is provided, a default
+     * configuration file will be used based on the name of the main
+     * application component.
+     *
+     * @param fileName the configuration file to open. If empty, it will be determined
+     *                 automatically from the application name + "staterc"
+     *
+     * @since 5.67
+     *
+     * @sa KConfig
+     */
+    static KSharedConfig::Ptr openStateConfig(const QString &fileName = QString());
+
+    ~KSharedConfig() override;
+
+private:
+    Q_DISABLE_COPY(KSharedConfig)
+    KConfigGroup groupImpl(const QString &groupName) override;
+    const KConfigGroup groupImpl(const QString &groupName) const override;
+
+    KCONFIGCORE_NO_EXPORT KSharedConfig(const QString &file, OpenFlags mode, QStandardPaths::StandardLocation resourceType);
+};
+
+typedef KSharedConfig::Ptr KSharedConfigPtr;
+
+#endif // multiple inclusion guard
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
new file mode 100644 (file)
index 0000000..eb50062
--- /dev/null
@@ -0,0 +1,84 @@
+add_library(KF6ConfigGui)
+add_library(KF6::ConfigGui ALIAS KF6ConfigGui)
+
+qt_extract_metatypes(KF6ConfigGui)
+
+set_target_properties(KF6ConfigGui PROPERTIES
+    VERSION     ${KCONFIG_VERSION}
+    SOVERSION   ${KCONFIG_SOVERSION}
+    EXPORT_NAME ConfigGui
+)
+
+ecm_create_qm_loader(KF6ConfigGui kconfig6_qt)
+
+target_sources(KF6ConfigGui PRIVATE
+    kconfiggui.cpp
+    kconfiggroupgui.cpp
+    kconfigloader.cpp
+    kconfigskeleton.cpp
+    kstandardshortcut.cpp
+    kstandardshortcutwatcher.cpp
+    kwindowconfig.cpp
+    kwindowstatesaver.cpp
+    kstandardactions.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigGui
+    HEADER kconfig_gui_log_settings.h
+    IDENTIFIER KCONFIG_GUI_LOG
+    CATEGORY_NAME kf.config.gui
+    DESCRIPTION "KConfig Gui"
+    EXPORT KCONFIG
+)
+
+ecm_generate_export_header(KF6ConfigGui
+    BASE_NAME KConfigGui
+    GROUP_BASE_NAME KF
+    VERSION ${KF_VERSION}
+    USE_VERSION_HEADER
+    VERSION_BASE_NAME KConfig
+    DEPRECATED_BASE_VERSION 0
+    DEPRECATION_VERSIONS
+    EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_include_directories(KF6ConfigGui
+    INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui>")
+
+target_link_libraries(KF6ConfigGui PUBLIC Qt6::Gui KF6::ConfigCore)
+
+ecm_generate_headers(KConfigGui_HEADERS
+  HEADER_NAMES
+  KConfigGui
+  KConfigLoader
+  KConfigSkeleton
+  KStandardShortcut
+  KStandardShortcutWatcher
+  KWindowConfig
+  KWindowStateSaver
+  KStandardActions
+
+  REQUIRED_HEADERS KConfigGui_HEADERS
+)
+
+if(NOT BUILD_SHARED_LIBS)
+    target_sources(KF6ConfigGui PUBLIC
+        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/kconfigguistaticinitializer.cpp>
+        $<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui/kconfigguistaticinitializer.cpp>
+    )
+endif()
+
+install(TARGETS KF6ConfigGui EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+  ${CMAKE_CURRENT_BINARY_DIR}/kconfiggui_export.h
+  kstandardactions_p.h
+  ${KConfigGui_HEADERS}
+  kconfigguistaticinitializer.cpp
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui COMPONENT Devel
+)
+
+# make available to ecm_add_qch in parent folder
+set(KConfigGui_APIDOX_SRCS ${KConfigGui_HEADERS} PARENT_SCOPE)
+set(KConfigGui_APIDOX_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+
diff --git a/src/gui/kconfiggroupgui.cpp b/src/gui/kconfiggroupgui.cpp
new file mode 100644 (file)
index 0000000..fbbe888
--- /dev/null
@@ -0,0 +1,207 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2007 Thiago Macieira <thiago@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfiggui_export.h"
+#include <kconfiggroup.h>
+
+#include <QColor>
+#include <QDebug>
+#include <QFont>
+
+#include <kconfiggroup_p.h>
+
+/**
+ * Try to read a GUI type from config group @p cg at key @p key.
+ * @p input is the default value and also indicates the type to be read.
+ * @p output is to be set with the value that has been read.
+ *
+ * @returns true if something was handled (even if output was set to clear or default)
+ *          or false if nothing was handled (e.g., Core type)
+ */
+static bool readEntryGui(const QByteArray &data, const char *key, const QVariant &input, QVariant &output)
+{
+    const auto errString = [&]() {
+        return QStringLiteral("\"%1\" - conversion from \"%3\" to %2 failed")
+            .arg(QLatin1String(key), QLatin1String(input.typeName()), QLatin1String(data.constData()));
+    };
+
+    // set in case of failure
+    output = input;
+
+    switch (static_cast<QMetaType::Type>(input.userType())) {
+    case QMetaType::QColor: {
+        if (data.isEmpty() || data == "invalid") {
+            output = QColor(); // return what was stored
+            return true;
+        } else if (data.at(0) == '#') {
+            QColor col = QColor::fromString(QUtf8StringView(data.constData(), data.length()));
+            if (!col.isValid()) {
+                qCritical() << qPrintable(errString());
+            }
+            output = col;
+            return true;
+        } else if (!data.contains(',')) {
+            QColor col = QColor::fromString(QUtf8StringView(data.constData(), data.length()));
+            if (!col.isValid()) {
+                qCritical() << qPrintable(errString());
+            }
+            output = col;
+            return true;
+        } else {
+            const QList<QByteArray> list = data.split(',');
+            const int count = list.count();
+
+            if (count != 3 && count != 4) {
+                qCritical() //
+                    << qPrintable(errString()) //
+                    << qPrintable(QStringLiteral(" (wrong format: expected '%1' items, read '%2')").arg(QStringLiteral("3' or '4")).arg(count));
+                return true; // return default
+            }
+
+            int temp[4];
+            // bounds check components
+            for (int i = 0; i < count; i++) {
+                bool ok;
+                const int j = temp[i] = list.at(i).toInt(&ok);
+                if (!ok) { // failed to convert to int
+                    qCritical() << qPrintable(errString()) << " (integer conversion failed)";
+                    return true; // return default
+                }
+                if (j < 0 || j > 255) {
+                    static const char *const components[] = {"red", "green", "blue", "alpha"};
+                    qCritical() << qPrintable(errString())
+                                << qPrintable(QStringLiteral(" (bounds error: %1 component %2)")
+                                                  .arg(QLatin1String(components[i]), //
+                                                       j < 0 ? QStringLiteral("< 0") : QStringLiteral("> 255")));
+                    return true; // return default
+                }
+            }
+            QColor aColor(temp[0], temp[1], temp[2]);
+            if (count == 4) {
+                aColor.setAlpha(temp[3]);
+            }
+
+            if (aColor.isValid()) {
+                output = aColor;
+            } else {
+                qCritical() << qPrintable(errString());
+            }
+            return true;
+        }
+    }
+
+    case QMetaType::QFont: {
+        QVariant tmp = QString::fromUtf8(data.constData(), data.length());
+        if (tmp.canConvert<QFont>()) {
+            output = tmp;
+        } else {
+            qCritical() << qPrintable(errString());
+        }
+        return true;
+    }
+    case QMetaType::QPixmap:
+    case QMetaType::QImage:
+    case QMetaType::QBrush:
+    case QMetaType::QPalette:
+    case QMetaType::QIcon:
+    case QMetaType::QRegion:
+    case QMetaType::QBitmap:
+    case QMetaType::QCursor:
+    case QMetaType::QSizePolicy:
+    case QMetaType::QPen:
+        // we may want to handle these in the future
+
+    default:
+        break;
+    }
+
+    return false; // not handled
+}
+
+/**
+ * Try to write a GUI type @p prop to config group @p cg at key @p key.
+ *
+ * @returns true if something was handled (even if an empty value was written)
+ *          or false if nothing was handled (e.g., Core type)
+ */
+static bool writeEntryGui(KConfigGroup *cg, const char *key, const QVariant &prop, KConfigGroup::WriteConfigFlags pFlags)
+{
+    switch (static_cast<QMetaType::Type>(prop.userType())) {
+    case QMetaType::QColor: {
+        const QColor rColor = prop.value<QColor>();
+
+        if (!rColor.isValid()) {
+            cg->writeEntry(key, "invalid", pFlags);
+            return true;
+        }
+
+        QList<int> list;
+        list.insert(0, rColor.red());
+        list.insert(1, rColor.green());
+        list.insert(2, rColor.blue());
+        if (rColor.alpha() != 255) {
+            list.insert(3, rColor.alpha());
+        }
+
+        cg->writeEntry(key, list, pFlags);
+        return true;
+    }
+    case QMetaType::QFont: {
+        QFont f = prop.value<QFont>();
+        // If the styleName property is set for a QFont, using setBold(true) would
+        // lead to Qt using an "emboldended"/synthetic font style instead of using
+        // the bold style provided by the font itself; the latter looks much better
+        // than the former. For more details see:
+        // https://bugreports.qt.io/browse/QTBUG-63792
+        // https://bugs.kde.org/show_bug.cgi?id=378523
+        /* clang-format off */
+        if (f.weight() == QFont::Normal
+            && (f.styleName() == QLatin1String("Regular")
+                || f.styleName() == QLatin1String("Normal")
+                || f.styleName() == QLatin1String("Book")
+                || f.styleName() == QLatin1String("Roman"))) { /* clang-format on */
+            f.setStyleName(QString());
+        }
+        cg->writeEntry(key, f.toString().toUtf8(), pFlags);
+        return true;
+    }
+    case QMetaType::QPixmap:
+    case QMetaType::QImage:
+    case QMetaType::QBrush:
+    case QMetaType::QPalette:
+    case QMetaType::QIcon:
+    case QMetaType::QRegion:
+    case QMetaType::QBitmap:
+    case QMetaType::QCursor:
+    case QMetaType::QSizePolicy:
+    case QMetaType::QPen:
+        // we may want to handle one of these in the future
+        break;
+
+    default:
+        break;
+    }
+
+    return false;
+}
+
+// Not static, because for static builds we use it in the kconfigguistaticinitializer.cpp file
+// Exported as we need this to force linking in consumers that read GUI types from KConfig, but
+// which are otherwise not using this library (and thus linking with --as-needed or MSVC would
+// break things)
+KCONFIGGUI_EXPORT int initKConfigGroupGui()
+{
+    _kde_internal_KConfigGroupGui.readEntryGui = readEntryGui;
+    _kde_internal_KConfigGroupGui.writeEntryGui = writeEntryGui;
+    return 42; // because 42 is nicer than 1 or 0
+}
+
+#ifdef Q_CONSTRUCTOR_FUNCTION
+Q_CONSTRUCTOR_FUNCTION(initKConfigGroupGui)
+#else
+static int dummyKConfigGroupGui = initKConfigGroupGui();
+#endif
diff --git a/src/gui/kconfiggui.cpp b/src/gui/kconfiggui.cpp
new file mode 100644 (file)
index 0000000..b119bdb
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Matthias Ettrich <ettrich@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kconfiggui.h"
+#include "kconfig_gui_log_settings.h"
+
+#include <QGuiApplication>
+
+#include <kconfig.h>
+
+static QString configName(const QString &id, const QString &key)
+{
+    return QLatin1String("session/%1_%2_%3").arg(QGuiApplication::applicationName(), id, key);
+}
+
+static KConfig *s_sessionConfig = nullptr;
+
+KConfig *KConfigGui::sessionConfig()
+{
+#ifdef QT_NO_SESSIONMANAGER
+    qCWarning(KCONFIG_GUI_LOG) << "Qt is built without session manager support";
+#else
+    if (!hasSessionConfig() && qApp->isSessionRestored()) {
+        // create the default instance specific config object
+        // from applications' -session command line parameter
+        s_sessionConfig = new KConfig(configName(qApp->sessionId(), qApp->sessionKey()), KConfig::SimpleConfig);
+    }
+#endif
+
+    return s_sessionConfig;
+}
+
+void KConfigGui::setSessionConfig(const QString &id, const QString &key)
+{
+    if (hasSessionConfig()) {
+        delete s_sessionConfig;
+        s_sessionConfig = nullptr;
+    }
+
+    // create a new instance specific config object from supplied id & key
+    s_sessionConfig = new KConfig(configName(id, key), KConfig::SimpleConfig);
+}
+
+bool KConfigGui::hasSessionConfig()
+{
+    return s_sessionConfig != nullptr;
+}
diff --git a/src/gui/kconfiggui.h b/src/gui/kconfiggui.h
new file mode 100644 (file)
index 0000000..3d7be34
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999 Matthias Ettrich <ettrich@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KCONFIGGUI_H
+#define KCONFIGGUI_H
+
+#include <kconfiggui_export.h>
+
+#include <QString>
+
+class KConfig;
+
+/**
+ * Interface-related functions.
+ */
+namespace KConfigGui
+{
+/**
+ * Returns the current application session config object.
+ *
+ * @note If Qt is built without session manager support, i.e.
+ * QT_NO_SESSIONMANAGER is defined, this by default will return
+ * nullptr, unless a custom config  has been set via
+ * @c setSessionConfig.
+ *
+ * @return A pointer to the application's instance specific
+ * KConfig object.
+ * @see KConfig
+ */
+KCONFIGGUI_EXPORT KConfig *sessionConfig();
+
+/**
+ * Replaces the current application session config object.
+ *
+ * @param id  new session id
+ * @param key new session key
+ *
+ * @since 5.11
+ */
+KCONFIGGUI_EXPORT void setSessionConfig(const QString &id, const QString &key);
+
+/**
+ * Indicates if a session config has been created for that application
+ * (i.e.\ if sessionConfig() got called at least once)
+ *
+ * @return @c true if a sessionConfig object was created, @c false otherwise
+ */
+KCONFIGGUI_EXPORT bool hasSessionConfig();
+}
+
+#endif // KCONFIGGUI_H
diff --git a/src/gui/kconfigguistaticinitializer.cpp b/src/gui/kconfigguistaticinitializer.cpp
new file mode 100644 (file)
index 0000000..f15444c
--- /dev/null
@@ -0,0 +1,6 @@
+// SPDX-FileCopyrightText: 2022 Alexander Lohnau <alexander.lohnau@gmx.de>
+// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+
+extern int initKConfigGroupGui();
+
+static int myInit = initKConfigGroupGui();
diff --git a/src/gui/kconfigloader.cpp b/src/gui/kconfigloader.cpp
new file mode 100644 (file)
index 0000000..4367855
--- /dev/null
@@ -0,0 +1,430 @@
+/*
+    SPDX-FileCopyrightText: 2007 Aaron Seigo <aseigo@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigloader.h"
+#include "kconfigloader_p.h"
+#include "kconfigloaderhandler_p.h"
+
+#include <QColor>
+#include <QFont>
+#include <QHash>
+#include <QUrl>
+
+#include <QDebug>
+
+void ConfigLoaderPrivate::parse(KConfigLoader *loader, QIODevice *xml)
+{
+    clearData();
+    loader->clearItems();
+
+    if (xml) {
+        ConfigLoaderHandler handler(loader, this);
+        handler.parse(xml);
+    }
+}
+
+ConfigLoaderHandler::ConfigLoaderHandler(KConfigLoader *config, ConfigLoaderPrivate *d)
+    : m_config(config)
+    , d(d)
+{
+    resetState();
+}
+
+bool ConfigLoaderHandler::parse(QIODevice *input)
+{
+    if (!input->open(QIODevice::ReadOnly)) {
+        qWarning() << "Impossible to open device";
+        return false;
+    }
+    QXmlStreamReader reader(input);
+
+    while (!reader.atEnd()) {
+        reader.readNext();
+        if (reader.hasError()) {
+            return false;
+        }
+
+        switch (reader.tokenType()) {
+        case QXmlStreamReader::StartElement:
+            startElement(reader.name(), reader.attributes());
+            break;
+        case QXmlStreamReader::EndElement:
+            endElement(reader.name());
+            break;
+        case QXmlStreamReader::Characters:
+            if (!reader.isWhitespace() && !reader.text().trimmed().isEmpty()) {
+                m_cdata.append(reader.text());
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    if (!reader.isEndDocument()) {
+        return false;
+    }
+
+    return true;
+}
+
+static bool caseInsensitiveCompare(const QStringView a, const QLatin1String b)
+{
+    return a.compare(b, Qt::CaseInsensitive) == 0;
+}
+
+void ConfigLoaderHandler::startElement(const QStringView localName, const QXmlStreamAttributes &attrs)
+{
+    // qDebug() << "ConfigLoaderHandler::startElement(" << localName << qName;
+    if (caseInsensitiveCompare(localName, QLatin1String("group"))) {
+        QString group;
+        for (const auto &attr : attrs) {
+            const auto attrName = attr.name();
+            if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+                // qDebug() << "set group to" << attrs.value(i);
+                group = attr.value().toString();
+            }
+        }
+        if (group.isEmpty()) {
+            group = d->baseGroup;
+        } else {
+            d->groups.append(group);
+            if (!d->baseGroup.isEmpty()) {
+                group = d->baseGroup + QLatin1Char('\x1d') + group;
+            }
+        }
+
+        if (m_config) {
+            m_config->setCurrentGroup(group);
+        }
+    } else if (caseInsensitiveCompare(localName, QLatin1String("entry"))) {
+        for (const auto &attr : attrs) {
+            const auto attrName = attr.name();
+            if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+                m_name = attr.value().trimmed().toString();
+            } else if (caseInsensitiveCompare(attrName, QLatin1String("type"))) {
+                m_type = attr.value().toString().toLower();
+            } else if (caseInsensitiveCompare(attrName, QLatin1String("key"))) {
+                m_key = attr.value().trimmed().toString();
+            }
+        }
+    } else if (caseInsensitiveCompare(localName, QLatin1String("choice"))) {
+        m_choice.name.clear();
+        m_choice.label.clear();
+        m_choice.whatsThis.clear();
+        for (const auto &attr : attrs) {
+            const auto attrName = attr.name();
+            if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+                m_choice.name = attr.value().toString();
+            }
+        }
+        m_inChoice = true;
+    }
+}
+
+void ConfigLoaderHandler::endElement(const QStringView localName)
+{
+    //     qDebug() << "ConfigLoaderHandler::endElement(" << localName << qName;
+    if (caseInsensitiveCompare(localName, QLatin1String("entry"))) {
+        addItem();
+        resetState();
+    } else if (caseInsensitiveCompare(localName, QLatin1String("label"))) {
+        if (m_inChoice) {
+            m_choice.label = std::move(m_cdata).trimmed();
+        } else {
+            m_label = std::move(m_cdata).trimmed();
+        }
+    } else if (caseInsensitiveCompare(localName, QLatin1String("whatsthis"))) {
+        if (m_inChoice) {
+            m_choice.whatsThis = std::move(m_cdata).trimmed();
+        } else {
+            m_whatsThis = std::move(m_cdata).trimmed();
+        }
+    } else if (caseInsensitiveCompare(localName, QLatin1String("default"))) {
+        m_default = std::move(m_cdata).trimmed();
+    } else if (caseInsensitiveCompare(localName, QLatin1String("min"))) {
+        m_min = m_cdata.toInt(&m_haveMin);
+    } else if (caseInsensitiveCompare(localName, QLatin1String("max"))) {
+        m_max = m_cdata.toInt(&m_haveMax);
+    } else if (caseInsensitiveCompare(localName, QLatin1String("choice"))) {
+        m_enumChoices.append(m_choice);
+        m_inChoice = false;
+    }
+
+    m_cdata.clear();
+}
+
+void ConfigLoaderHandler::addItem()
+{
+    if (m_name.isEmpty()) {
+        if (m_key.isEmpty()) {
+            return;
+        }
+
+        m_name = m_key;
+    }
+
+    m_name.remove(QLatin1Char(' '));
+
+    KConfigSkeletonItem *item = nullptr;
+
+    if (m_type == QLatin1String("bool")) {
+        const bool defaultValue = caseInsensitiveCompare(m_default, QLatin1String("true"));
+        item = m_config->addItemBool(m_name, *d->newBool(), defaultValue, m_key);
+    } else if (m_type == QLatin1String("color")) {
+        item = m_config->addItemColor(m_name, *d->newColor(), QColor(m_default), m_key);
+    } else if (m_type == QLatin1String("datetime")) {
+        item = m_config->addItemDateTime(m_name, *d->newDateTime(), QDateTime::fromString(m_default), m_key);
+    } else if (m_type == QLatin1String("enum")) {
+        m_key = (m_key.isEmpty()) ? m_name : m_key;
+
+        bool ok = false;
+        int defaultValue = m_default.toInt(&ok);
+        if (!ok) {
+            for (int i = 0; i < m_enumChoices.size(); i++) {
+                if (m_default == m_enumChoices[i].name) {
+                    defaultValue = i;
+                    break;
+                }
+            }
+        }
+
+        KConfigSkeleton::ItemEnum *enumItem = new KConfigSkeleton::ItemEnum(m_config->currentGroup(), m_key, *d->newInt(), m_enumChoices, defaultValue);
+        m_config->addItem(enumItem, m_name);
+        item = enumItem;
+    } else if (m_type == QLatin1String("font")) {
+        item = m_config->addItemFont(m_name, *d->newFont(), QFont(m_default), m_key);
+    } else if (m_type == QLatin1String("int")) {
+        KConfigSkeleton::ItemInt *intItem = m_config->addItemInt(m_name, *d->newInt(), m_default.toInt(), m_key);
+
+        if (m_haveMin) {
+            intItem->setMinValue(m_min);
+        }
+
+        if (m_haveMax) {
+            intItem->setMaxValue(m_max);
+        }
+
+        item = intItem;
+    } else if (m_type == QLatin1String("password")) {
+        item = m_config->addItemPassword(m_name, *d->newString(), m_default, m_key);
+    } else if (m_type == QLatin1String("path")) {
+        item = m_config->addItemPath(m_name, *d->newString(), m_default, m_key);
+    } else if (m_type == QLatin1String("string")) {
+        item = m_config->addItemString(m_name, *d->newString(), m_default, m_key);
+    } else if (m_type == QLatin1String("stringlist")) {
+        // FIXME: the split() is naive and will break on lists with ,'s in them
+        // empty parts are not wanted in this case
+        item = m_config->addItemStringList(m_name, *d->newStringList(), m_default.split(QLatin1Char(','), Qt::SkipEmptyParts), m_key);
+    } else if (m_type == QLatin1String("uint")) {
+        KConfigSkeleton::ItemUInt *uintItem = m_config->addItemUInt(m_name, *d->newUint(), m_default.toUInt(), m_key);
+        if (m_haveMin) {
+            uintItem->setMinValue(m_min);
+        }
+        if (m_haveMax) {
+            uintItem->setMaxValue(m_max);
+        }
+        item = uintItem;
+    } else if (m_type == QLatin1String("url")) {
+        m_key = (m_key.isEmpty()) ? m_name : m_key;
+        KConfigSkeleton::ItemUrl *urlItem = new KConfigSkeleton::ItemUrl(m_config->currentGroup(), m_key, *d->newUrl(), QUrl::fromUserInput(m_default));
+        m_config->addItem(urlItem, m_name);
+        item = urlItem;
+    } else if (m_type == QLatin1String("double")) {
+        KConfigSkeleton::ItemDouble *doubleItem = m_config->addItemDouble(m_name, *d->newDouble(), m_default.toDouble(), m_key);
+        if (m_haveMin) {
+            doubleItem->setMinValue(m_min);
+        }
+        if (m_haveMax) {
+            doubleItem->setMaxValue(m_max);
+        }
+        item = doubleItem;
+    } else if (m_type == QLatin1String("intlist")) {
+        QList<int> defaultList;
+        const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','), Qt::SkipEmptyParts);
+        for (const QStringView tmp : tmpList) {
+            defaultList.append(tmp.toInt());
+        }
+        item = m_config->addItemIntList(m_name, *d->newIntList(), defaultList, m_key);
+    } else if (m_type == QLatin1String("longlong")) {
+        KConfigSkeleton::ItemLongLong *longlongItem = m_config->addItemLongLong(m_name, *d->newLongLong(), m_default.toLongLong(), m_key);
+        if (m_haveMin) {
+            longlongItem->setMinValue(m_min);
+        }
+        if (m_haveMax) {
+            longlongItem->setMaxValue(m_max);
+        }
+        item = longlongItem;
+        /* No addItemPathList in KConfigSkeleton ?
+        } else if (m_type == "PathList") {
+            //FIXME: the split() is naive and will break on lists with ,'s in them
+            item = m_config->addItemPathList(m_name, *d->newStringList(), m_default.split(","), m_key);
+        */
+    } else if (m_type == QLatin1String("point")) {
+        QPoint defaultPoint;
+        const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+        if (tmpList.size() >= 2) {
+            defaultPoint.setX(tmpList[0].toInt());
+            defaultPoint.setY(tmpList[1].toInt());
+        }
+        item = m_config->addItemPoint(m_name, *d->newPoint(), defaultPoint, m_key);
+    } else if (m_type == QLatin1String("pointf")) {
+        QPointF defaultPointF;
+        const auto tmpList = QStringView(m_default).split(u',');
+        if (tmpList.size() >= 2) {
+            defaultPointF.setX(tmpList[0].toDouble());
+            defaultPointF.setY(tmpList[1].toDouble());
+        }
+        item = m_config->addItemPointF(m_name, *d->newPointF(), defaultPointF, m_key);
+    } else if (m_type == QLatin1String("rect")) {
+        QRect defaultRect;
+        const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+        if (tmpList.size() >= 4) {
+            defaultRect.setCoords(tmpList[0].toInt(), tmpList[1].toInt(), tmpList[2].toInt(), tmpList[3].toInt());
+        }
+        item = m_config->addItemRect(m_name, *d->newRect(), defaultRect, m_key);
+    } else if (m_type == QLatin1String("rectf")) {
+        QRectF defaultRectF;
+        const auto tmpList = QStringView(m_default).split(u',');
+        if (tmpList.size() >= 4) {
+            defaultRectF.setCoords(tmpList[0].toDouble(), tmpList[1].toDouble(), tmpList[2].toDouble(), tmpList[3].toDouble());
+        }
+        item = m_config->addItemRectF(m_name, *d->newRectF(), defaultRectF, m_key);
+    } else if (m_type == QLatin1String("size")) {
+        QSize defaultSize;
+        const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+        if (tmpList.size() >= 2) {
+            defaultSize.setWidth(tmpList[0].toInt());
+            defaultSize.setHeight(tmpList[1].toInt());
+        }
+        item = m_config->addItemSize(m_name, *d->newSize(), defaultSize, m_key);
+    } else if (m_type == QLatin1String("sizef")) {
+        QSizeF defaultSizeF;
+        const auto tmpList = QStringView(m_default).split(u',');
+        if (tmpList.size() >= 2) {
+            defaultSizeF.setWidth(tmpList[0].toDouble());
+            defaultSizeF.setHeight(tmpList[1].toDouble());
+        }
+        item = m_config->addItemSizeF(m_name, *d->newSizeF(), defaultSizeF, m_key);
+    } else if (m_type == QLatin1String("ulonglong")) {
+        KConfigSkeleton::ItemULongLong *ulonglongItem = m_config->addItemULongLong(m_name, *d->newULongLong(), m_default.toULongLong(), m_key);
+        if (m_haveMin) {
+            ulonglongItem->setMinValue(m_min);
+        }
+        if (m_haveMax) {
+            ulonglongItem->setMaxValue(m_max);
+        }
+        item = ulonglongItem;
+        /* No addItemUrlList in KConfigSkeleton ?
+        } else if (m_type == "urllist") {
+            //FIXME: the split() is naive and will break on lists with ,'s in them
+            QStringList tmpList = m_default.split(",");
+            QList<QUrl> defaultList;
+            foreach (const QString& tmp, tmpList) {
+                defaultList.append(QUrl(tmp));
+            }
+            item = m_config->addItemUrlList(m_name, *d->newUrlList(), defaultList, m_key);*/
+    }
+
+    if (item) {
+        item->setLabel(m_label);
+        item->setWhatsThis(m_whatsThis);
+        d->keysToNames.insert(item->group() + item->key(), item->name());
+    }
+}
+
+void ConfigLoaderHandler::resetState()
+{
+    m_haveMin = false;
+    m_min = 0;
+    m_haveMax = false;
+    m_max = 0;
+    m_name.clear();
+    m_type.clear();
+    m_label.clear();
+    m_default.clear();
+    m_key.clear();
+    m_whatsThis.clear();
+    m_enumChoices.clear();
+    m_inChoice = false;
+}
+
+KConfigLoader::KConfigLoader(const QString &configFile, QIODevice *xml, QObject *parent)
+    : KConfigSkeleton(configFile, parent)
+    , d(new ConfigLoaderPrivate)
+{
+    d->parse(this, xml);
+}
+
+KConfigLoader::KConfigLoader(KSharedConfigPtr config, QIODevice *xml, QObject *parent)
+    : KConfigSkeleton(std::move(config), parent)
+    , d(new ConfigLoaderPrivate)
+{
+    d->parse(this, xml);
+}
+
+// FIXME: obviously this is broken and should be using the group as the root,
+//       but KConfigSkeleton does not currently support this. it will eventually though,
+//       at which point this can be addressed properly
+KConfigLoader::KConfigLoader(const KConfigGroup &config, QIODevice *xml, QObject *parent)
+    : KConfigSkeleton(KSharedConfig::openConfig(config.config()->name(), config.config()->openFlags(), config.config()->locationType()), parent)
+    , d(new ConfigLoaderPrivate)
+{
+    KConfigGroup group = config.parent();
+    d->baseGroup = config.name();
+    while (group.isValid() && group.name() != QLatin1String("<default>")) {
+        d->baseGroup = group.name() + QLatin1Char('\x1d') + d->baseGroup;
+        group = group.parent();
+    }
+    d->parse(this, xml);
+}
+
+KConfigLoader::~KConfigLoader()
+{
+    delete d;
+}
+
+KConfigSkeletonItem *KConfigLoader::findItem(const QString &group, const QString &key) const
+{
+    return KConfigSkeleton::findItem(d->keysToNames[group + key]);
+}
+
+KConfigSkeletonItem *KConfigLoader::findItemByName(const QString &name) const
+{
+    return KConfigSkeleton::findItem(name);
+}
+
+QVariant KConfigLoader::property(const QString &name) const
+{
+    KConfigSkeletonItem *item = KConfigSkeleton::findItem(name);
+
+    if (item) {
+        return item->property();
+    }
+
+    return QVariant();
+}
+
+bool KConfigLoader::hasGroup(const QString &group) const
+{
+    return d->groups.contains(group);
+}
+
+QStringList KConfigLoader::groupList() const
+{
+    return d->groups;
+}
+
+bool KConfigLoader::usrSave()
+{
+    if (d->saveDefaults) {
+        const auto listItems = items();
+        for (const auto &item : listItems) {
+            config()->group(item->group()).writeEntry(item->key(), "");
+        }
+    }
+    return true;
+}
diff --git a/src/gui/kconfigloader.h b/src/gui/kconfigloader.h
new file mode 100644 (file)
index 0000000..d2e3a2c
--- /dev/null
@@ -0,0 +1,165 @@
+/*
+    SPDX-FileCopyrightText: 2007 Aaron Seigo <aseigo@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADER_H
+#define KCONFIGLOADER_H
+
+#include <QIODevice>
+
+#include <kconfiggroup.h>
+#include <kconfigskeleton.h>
+#include <ksharedconfig.h>
+
+#include <kconfiggui_export.h>
+
+class ConfigLoaderPrivate;
+
+/**
+ * @class KConfigLoader kconfigloader.h <KConfigLoader>
+ *
+ * @short A KConfigSkeleton that populates itself based on KConfigXT XML
+ *
+ * This class allows one to ship an XML file and reconstitute it into a
+ * KConfigSkeleton object at runtime. Common usage might look like this:
+ *
+ * \code
+ * QFile file(xmlFilePath);
+ * KConfigLoader appletConfig(configFilePath, &file);
+ * \endcode
+ *
+ * Alternatively, any QIODevice may be used in place of QFile in the
+ * example above.
+ *
+ * KConfigLoader is useful if it is not possible to use compiled code
+ * and by that the kconfig compiler cannot be used. Common examples are
+ * scripted plugins which want to provide a configuration interface.
+ * With the help of KConfigLoader a dynamically loaded ui file can be
+ * populated with the stored values and also stored back to the config
+ * file.
+ *
+ * An example for populating a QDialog with a dynamically populated UI
+ * with the help of a KConfigDialogManager:
+ * \code
+ * QDialog *dialog = new QDialog();
+ * QFile xmlFile("path/to/kconfigxt.xml");
+ * KConfigGroup cg = KSharedConfig::openConfig()->group(QString());
+ * KConfigLoader *configLoader = new KConfigLoader(cg, &xmlFile, this);
+ *
+ * // load the ui file
+ * QUiLoader *loader = new QUiLoader(this);
+ * QFile uiFile("path/to/userinterface.ui");
+ * uiFile.open(QFile::ReadOnly);
+ * QWidget *customConfigForm = loader->load(&uiFile, dialog);
+ * uiFile.close();
+ *
+ * KConfigDialogManager *manager = new KConfigDialogManager(customConfigForm, configLoader);
+ * if (dialog->exec() == QDialog::Accepted) {
+ *     manager->updateSettings();
+ * }
+ * \endcode
+ *
+ * Currently the following data types are supported:
+ *
+ * @li bools
+ * @li colors
+ * @li datetimes
+ * @li enumerations
+ * @li fonts
+ * @li ints
+ * @li passwords
+ * @li paths
+ * @li strings
+ * @li stringlists
+ * @li uints
+ * @li urls
+ * @li doubles
+ * @li int lists
+ * @li longlongs
+ * @li path lists
+ * @li points
+ * @li pointfs
+ * @li rects
+ * @li rectfs
+ * @li sizes
+ * @li sizefs
+ * @li ulonglongs
+ * @li url lists
+ **/
+class KCONFIGGUI_EXPORT KConfigLoader : public KConfigSkeleton
+{
+public:
+    /**
+     * Creates a KConfigSkeleton populated using the definition found in
+     * the XML data passed in.
+     *
+     * @param configFile path to the configuration file to use
+     * @param xml the xml data; must be valid KConfigXT data
+     * @param parent optional QObject parent
+     **/
+    KConfigLoader(const QString &configFile, QIODevice *xml, QObject *parent = nullptr);
+
+    /**
+     * Creates a KConfigSkeleton populated using the definition found in
+     * the XML data passed in.
+     *
+     * @param config the configuration object to use
+     * @param xml the xml data; must be valid KConfigXT data
+     * @param parent optional QObject parent
+     **/
+    KConfigLoader(KSharedConfigPtr config, QIODevice *xml, QObject *parent = nullptr);
+
+    /**
+     * Creates a KConfigSkeleton populated using the definition found in
+     * the XML data passed in.
+     *
+     * @param config the group to use as the root for configuration items
+     * @param xml the xml data; must be valid KConfigXT data
+     * @param parent optional QObject parent
+     **/
+    KConfigLoader(const KConfigGroup &config, QIODevice *xml, QObject *parent = nullptr);
+
+    ~KConfigLoader() override;
+
+    /**
+     * Finds the item for the given group and key.
+     *
+     * @param group the group in the config file to look in
+     * @param key the configuration key to find
+     * @return the associated KConfigSkeletonItem, or @c nullptr if none
+     */
+    KConfigSkeletonItem *findItem(const QString &group, const QString &key) const;
+
+    /**
+     * Finds an item by its name
+     */
+    KConfigSkeletonItem *findItemByName(const QString &name) const;
+
+    /**
+     * Returns the property (variantized value) of the named item
+     */
+    QVariant property(const QString &name) const;
+
+    /**
+     * Check to see if a group exists
+     *
+     * @param group the name of the group to check for
+     * @return true if the group exists, or false if it does not
+     */
+    bool hasGroup(const QString &group) const;
+
+    /**
+     * @return the list of groups defined by the XML
+     */
+    QStringList groupList() const;
+
+protected:
+    bool usrSave() override;
+
+private:
+    ConfigLoaderPrivate *const d;
+};
+
+#endif // multiple inclusion guard
diff --git a/src/gui/kconfigloader_p.h b/src/gui/kconfigloader_p.h
new file mode 100644 (file)
index 0000000..55021ff
--- /dev/null
@@ -0,0 +1,235 @@
+/*
+    SPDX-FileCopyrightText: 2007-2008 Aaron Seigo <aseigo@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADER_P_H
+#define KCONFIGLOADER_P_H
+
+#include <QUrl>
+
+class ConfigLoaderPrivate
+{
+public:
+    ConfigLoaderPrivate()
+        : saveDefaults(false)
+    {
+    }
+
+    ~ConfigLoaderPrivate()
+    {
+        clearData();
+    }
+
+    void clearData()
+    {
+        qDeleteAll(bools);
+        qDeleteAll(strings);
+        qDeleteAll(stringlists);
+        qDeleteAll(colors);
+        qDeleteAll(fonts);
+        qDeleteAll(ints);
+        qDeleteAll(uints);
+        qDeleteAll(urls);
+        qDeleteAll(dateTimes);
+        qDeleteAll(doubles);
+        qDeleteAll(intlists);
+        qDeleteAll(longlongs);
+        qDeleteAll(points);
+        qDeleteAll(pointfs);
+        qDeleteAll(rects);
+        qDeleteAll(rectfs);
+        qDeleteAll(sizes);
+        qDeleteAll(sizefs);
+        qDeleteAll(ulonglongs);
+        qDeleteAll(urllists);
+    }
+
+    bool *newBool()
+    {
+        bool *v = new bool;
+        bools.append(v);
+        return v;
+    }
+
+    QString *newString()
+    {
+        QString *v = new QString;
+        strings.append(v);
+        return v;
+    }
+
+    QStringList *newStringList()
+    {
+        QStringList *v = new QStringList;
+        stringlists.append(v);
+        return v;
+    }
+
+    QColor *newColor()
+    {
+        QColor *v = new QColor;
+        colors.append(v);
+        return v;
+    }
+
+    QFont *newFont()
+    {
+        QFont *v = new QFont;
+        fonts.append(v);
+        return v;
+    }
+
+    qint32 *newInt()
+    {
+        qint32 *v = new qint32;
+        ints.append(v);
+        return v;
+    }
+
+    quint32 *newUint()
+    {
+        quint32 *v = new quint32;
+        uints.append(v);
+        return v;
+    }
+
+    QUrl *newUrl()
+    {
+        QUrl *v = new QUrl;
+        urls.append(v);
+        return v;
+    }
+
+    QDateTime *newDateTime()
+    {
+        QDateTime *v = new QDateTime;
+        dateTimes.append(v);
+        return v;
+    }
+
+    double *newDouble()
+    {
+        double *v = new double;
+        doubles.append(v);
+        return v;
+    }
+
+    QList<qint32> *newIntList()
+    {
+        QList<qint32> *v = new QList<qint32>;
+        intlists.append(v);
+        return v;
+    }
+
+    qint64 *newLongLong()
+    {
+        qint64 *v = new qint64;
+        longlongs.append(v);
+        return v;
+    }
+
+    QPoint *newPoint()
+    {
+        QPoint *v = new QPoint;
+        points.append(v);
+        return v;
+    }
+
+    QPointF *newPointF()
+    {
+        QPointF *v = new QPointF;
+        pointfs.append(v);
+        return v;
+    }
+
+    QRect *newRect()
+    {
+        QRect *v = new QRect;
+        rects.append(v);
+        return v;
+    }
+
+    QRectF *newRectF()
+    {
+        QRectF *v = new QRectF;
+        rectfs.append(v);
+        return v;
+    }
+
+    QSize *newSize()
+    {
+        QSize *v = new QSize;
+        sizes.append(v);
+        return v;
+    }
+
+    QSizeF *newSizeF()
+    {
+        QSizeF *v = new QSizeF;
+        sizefs.append(v);
+        return v;
+    }
+
+    quint64 *newULongLong()
+    {
+        quint64 *v = new quint64;
+        ulonglongs.append(v);
+        return v;
+    }
+
+    QList<QUrl> *newUrlList()
+    {
+        QList<QUrl> *v = new QList<QUrl>();
+        urllists.append(v);
+        return v;
+    }
+
+    void parse(KConfigLoader *loader, QIODevice *xml);
+
+    /**
+     * Whether or not to write out default values.
+     *
+     * @param writeDefaults true if defaults should be written out
+     */
+    void setWriteDefaults(bool writeDefaults)
+    {
+        saveDefaults = writeDefaults;
+    }
+
+    /**
+     * @return true if default values will also be written out
+     */
+    bool writeDefaults() const
+    {
+        return saveDefaults;
+    }
+
+    QList<bool *> bools;
+    QList<QString *> strings;
+    QList<QStringList *> stringlists;
+    QList<QColor *> colors;
+    QList<QFont *> fonts;
+    QList<qint32 *> ints;
+    QList<quint32 *> uints;
+    QList<QUrl *> urls;
+    QList<QDateTime *> dateTimes;
+    QList<double *> doubles;
+    QList<QList<qint32> *> intlists;
+    QList<qint64 *> longlongs;
+    QList<QPoint *> points;
+    QList<QPointF *> pointfs;
+    QList<QRect *> rects;
+    QList<QRectF *> rectfs;
+    QList<QSize *> sizes;
+    QList<QSizeF *> sizefs;
+    QList<quint64 *> ulonglongs;
+    QList<QList<QUrl> *> urllists;
+    QString baseGroup;
+    QStringList groups;
+    QHash<QString, QString> keysToNames;
+    bool saveDefaults;
+};
+
+#endif
diff --git a/src/gui/kconfigloaderhandler_p.h b/src/gui/kconfigloaderhandler_p.h
new file mode 100644 (file)
index 0000000..297e546
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+    SPDX-FileCopyrightText: 2007-2008 Aaron Seigo <aseigo@kde.org>
+    SPDX-FileCopyrightText: 2013 Marco Martin <mart@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADERHANDLER_P_H
+#define KCONFIGLOADERHANDLER_P_H
+
+#include <QXmlStreamAttributes>
+
+class ConfigLoaderHandler
+{
+public:
+    ConfigLoaderHandler(KConfigLoader *config, ConfigLoaderPrivate *d);
+
+    bool parse(QIODevice *input);
+
+    void startElement(const QStringView localName, const QXmlStreamAttributes &attrs);
+    void endElement(const QStringView localName);
+
+private:
+    void addItem();
+    void resetState();
+
+    KConfigLoader *m_config;
+    ConfigLoaderPrivate *d;
+    int m_min;
+    int m_max;
+    QString m_name;
+    QString m_key;
+    QString m_type;
+    QString m_label;
+    QString m_default;
+    QString m_cdata;
+    QString m_whatsThis;
+    KConfigSkeleton::ItemEnum::Choice m_choice;
+    QList<KConfigSkeleton::ItemEnum::Choice> m_enumChoices;
+    bool m_haveMin;
+    bool m_haveMax;
+    bool m_inChoice;
+};
+
+#endif
diff --git a/src/gui/kconfigskeleton.cpp b/src/gui/kconfigskeleton.cpp
new file mode 100644 (file)
index 0000000..b258214
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+    This file is part of KOrganizer.
+    SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigskeleton.h"
+
+#include <kcoreconfigskeleton_p.h>
+
+KConfigSkeleton::KConfigSkeleton(const QString &configname, QObject *parent)
+    : KCoreConfigSkeleton(configname, parent)
+{
+}
+
+KConfigSkeleton::KConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent)
+    : KCoreConfigSkeleton(std::move(pConfig), parent)
+{
+}
+
+KConfigSkeleton::ItemColor::ItemColor(const QString &_group, const QString &_key, QColor &reference, const QColor &defaultValue)
+    : KConfigSkeletonGenericItem<QColor>(_group, _key, reference, defaultValue)
+{
+}
+
+void KConfigSkeleton::ItemColor::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KConfigSkeleton::ItemColor::setProperty(const QVariant &p)
+{
+    mReference = qvariant_cast<QColor>(p);
+}
+
+bool KConfigSkeleton::ItemColor::isEqual(const QVariant &v) const
+{
+    return mReference == qvariant_cast<QColor>(v);
+}
+
+QVariant KConfigSkeleton::ItemColor::property() const
+{
+    return QVariant(mReference);
+}
+
+KConfigSkeleton::ItemFont::ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue)
+    : KConfigSkeletonGenericItem<QFont>(_group, _key, reference, defaultValue)
+{
+}
+
+void KConfigSkeleton::ItemFont::readConfig(KConfig *config)
+{
+    KConfigGroup cg = configGroup(config);
+
+    mReference = cg.readEntry(mKey, mDefault);
+    mLoadedValue = mReference;
+
+    readImmutability(cg);
+}
+
+void KConfigSkeleton::ItemFont::setProperty(const QVariant &p)
+{
+    mReference = qvariant_cast<QFont>(p);
+}
+
+bool KConfigSkeleton::ItemFont::isEqual(const QVariant &v) const
+{
+    return mReference == qvariant_cast<QFont>(v);
+}
+
+QVariant KConfigSkeleton::ItemFont::property() const
+{
+    return QVariant(mReference);
+}
+
+KConfigSkeleton::ItemColor *KConfigSkeleton::addItemColor(const QString &name, QColor &reference, const QColor &defaultValue, const QString &key)
+{
+    KConfigSkeleton::ItemColor *item;
+    item = new KConfigSkeleton::ItemColor(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+KConfigSkeleton::ItemFont *KConfigSkeleton::addItemFont(const QString &name, QFont &reference, const QFont &defaultValue, const QString &key)
+{
+    KConfigSkeleton::ItemFont *item;
+    item = new KConfigSkeleton::ItemFont(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+    addItem(item, name);
+    return item;
+}
+
+#include "moc_kconfigskeleton.cpp"
diff --git a/src/gui/kconfigskeleton.h b/src/gui/kconfigskeleton.h
new file mode 100644 (file)
index 0000000..fbf59bf
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+    This file is part of KDE.
+    SPDX-FileCopyrightText: 2001, 2002, 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGSKELETON_H
+#define KCONFIGSKELETON_H
+
+#include <kconfiggui_export.h>
+
+#include <kcoreconfigskeleton.h>
+
+#include <QColor>
+#include <QFont>
+
+/**
+ * @class KConfigSkeleton kconfigskeleton.h <KConfigSkeleton>
+ *
+ * @short Class for handling preferences settings for an application.
+ * @author Cornelius Schumacher
+ *
+ * This class extends KCoreConfigSkeleton by support for GUI types.
+ */
+class KCONFIGGUI_EXPORT KConfigSkeleton : public KCoreConfigSkeleton
+{
+    Q_OBJECT
+public:
+    /**
+     * Class for handling a color preferences item.
+     */
+    class KCONFIGGUI_EXPORT ItemColor : public KConfigSkeletonGenericItem<QColor>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemColor(const QString &_group, const QString &_key, QColor &reference, const QColor &defaultValue = QColor(128, 128, 128));
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+    /**
+     * Class for handling a font preferences item.
+     */
+    class KCONFIGGUI_EXPORT ItemFont : public KConfigSkeletonGenericItem<QFont>
+    {
+    public:
+        /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+        ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue = QFont());
+
+        /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+        void readConfig(KConfig *config) override;
+
+        /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+        void setProperty(const QVariant &p) override;
+
+        /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+        bool isEqual(const QVariant &p) const override;
+
+        /** @copydoc KConfigSkeletonItem::property() */
+        QVariant property() const override;
+    };
+
+public:
+    /**
+     * Constructor.
+     *
+     * @param configname name of config file. If no name is given, the default
+     * config file as returned by KSharedConfig::openConfig() is used.
+     */
+    explicit KConfigSkeleton(const QString &configname = QString(), QObject *parent = nullptr);
+
+    /**
+     * Constructor.
+     *
+     * @param config configuration object to use.
+     */
+    explicit KConfigSkeleton(KSharedConfig::Ptr config, QObject *parent = nullptr);
+
+    /**
+     * Register an item of type QColor.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by read()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemColor *addItemColor(const QString &name, QColor &reference, const QColor &defaultValue = QColor(128, 128, 128), const QString &key = QString());
+
+    /**
+     * Register an item of type QFont.
+     *
+     * @param name Name used to identify this setting. Names must be unique.
+     * @param reference Pointer to the variable, which is set by read()
+     * calls and read by save() calls.
+     * @param defaultValue Default value, which is used when the config file
+     * does not yet contain the key of this item.
+     * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+     * @return The created item
+     */
+    ItemFont *addItemFont(const QString &name, QFont &reference, const QFont &defaultValue = QFont(), const QString &key = QString());
+};
+
+#endif
diff --git a/src/gui/kstandardactions.cpp b/src/gui/kstandardactions.cpp
new file mode 100644 (file)
index 0000000..402c6da
--- /dev/null
@@ -0,0 +1,175 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#include "kstandardactions.h"
+#include "kstandardactions_p.h"
+#include "moc_kstandardactions_p.cpp"
+
+#include <KStandardShortcutWatcher>
+#include <QGuiApplication>
+
+namespace KStandardActions
+{
+
+QList<StandardAction> actionIds()
+{
+    QList<StandardAction> result;
+
+    for (uint i = 0; g_rgActionInfo[i].id != ActionNone; i++) {
+        result.append(g_rgActionInfo[i].id);
+    }
+
+    return result;
+}
+
+KStandardShortcut::StandardShortcut shortcutForActionId(StandardAction id)
+{
+    const KStandardActionsInfo *pInfo = infoPtr(id);
+    return (pInfo) ? pInfo->idAccel : KStandardShortcut::AccelNone;
+}
+
+QAction *_kgui_createInternal(StandardAction id, QObject *parent)
+{
+    QAction *pAction = new QAction(parent);
+    const KStandardActionsInfo *pInfo = infoPtr(id);
+
+    // qCDebug(KCONFIG_WIDGETS_LOG) << "KStandardActions::create( " << id << "=" << (pInfo ? pInfo->psName : (const char*)0) << ", " << parent << " )"; //
+    // ellis
+
+    if (pInfo) {
+        QString sLabel;
+        QString iconName = pInfo->psIconName.toString();
+
+        switch (id) {
+        case Back:
+            sLabel = QCoreApplication::translate("go back", "&Back");
+            if (QGuiApplication::isRightToLeft()) {
+                iconName = QStringLiteral("go-next");
+            }
+            break;
+
+        case Forward:
+            sLabel = QCoreApplication::translate("go forward", "&Forward");
+            if (QGuiApplication::isRightToLeft()) {
+                iconName = QStringLiteral("go-previous");
+            }
+            break;
+
+        case Home:
+            sLabel = QCoreApplication::translate("home page", "&Home");
+            break;
+        case Preferences:
+        case AboutApp:
+        case HelpContents: {
+            QString appDisplayName = QGuiApplication::applicationDisplayName();
+            if (appDisplayName.isEmpty()) {
+                appDisplayName = QCoreApplication::applicationName();
+            }
+            sLabel = QCoreApplication::translate("KStandardActions", pInfo->psLabel).arg(appDisplayName);
+        } break;
+        default:
+            sLabel = QCoreApplication::translate("KStandardActions", pInfo->psLabel);
+        }
+
+        if (QGuiApplication::isRightToLeft()) {
+            switch (id) {
+            case Prior:
+                iconName = QStringLiteral("go-next-view-page");
+                break;
+            case Next:
+                iconName = QStringLiteral("go-previous-view-page");
+                break;
+            case FirstPage:
+                iconName = QStringLiteral("go-last-view-page");
+                break;
+            case LastPage:
+                iconName = QStringLiteral("go-first-view-page");
+                break;
+            case DocumentBack:
+                iconName = QStringLiteral("go-next");
+                break;
+            case DocumentForward:
+                iconName = QStringLiteral("go-previous");
+                break;
+            default:
+                break;
+            }
+        }
+
+        if (id == Donate) {
+            const QString currencyCode = QLocale().currencySymbol(QLocale::CurrencyIsoCode).toLower();
+            if (!currencyCode.isEmpty()) {
+                iconName = QStringLiteral("help-donate-%1").arg(currencyCode);
+            }
+        }
+
+        QIcon icon = iconName.isEmpty() ? QIcon() : QIcon::fromTheme(iconName);
+
+        if (id == AboutApp) {
+            icon = qGuiApp->windowIcon();
+        }
+
+        // Set the text before setting the MenuRole, as on OS X setText will do some heuristic role guessing.
+        // This ensures user menu items get the intended role out of the list below.
+        pAction->setText(sLabel);
+
+        switch (id) {
+        case Quit:
+            pAction->setMenuRole(QAction::QuitRole);
+            break;
+
+        case Preferences:
+            pAction->setMenuRole(QAction::PreferencesRole);
+            break;
+
+        case AboutApp:
+            pAction->setMenuRole(QAction::AboutRole);
+            break;
+
+        default:
+            pAction->setMenuRole(QAction::NoRole);
+            break;
+        }
+
+        if (!QCoreApplication::translate("KStandardActions", pInfo->psToolTip).isEmpty()) {
+            pAction->setToolTip(QCoreApplication::translate("KStandardActions", pInfo->psToolTip));
+        }
+        pAction->setIcon(icon);
+
+        QList<QKeySequence> cut = KStandardShortcut::shortcut(pInfo->idAccel);
+        if (!cut.isEmpty()) {
+            // emulate KActionCollection::setDefaultShortcuts to allow the use of "configure shortcuts"
+            pAction->setShortcuts(cut);
+            pAction->setProperty("defaultShortcuts", QVariant::fromValue(cut));
+        }
+        pAction->connect(KStandardShortcut::shortcutWatcher(),
+                         &KStandardShortcut::StandardShortcutWatcher::shortcutChanged,
+                         pAction,
+                         [pAction, shortcut = pInfo->idAccel](KStandardShortcut::StandardShortcut id, const QList<QKeySequence> &newShortcut) {
+                             if (id != shortcut) {
+                                 return;
+                             }
+                             pAction->setShortcuts(newShortcut);
+                             pAction->setProperty("defaultShortcuts", QVariant::fromValue(newShortcut));
+                         });
+
+        pAction->setObjectName(pInfo->psName.toString());
+    }
+
+    if (pAction && parent && parent->inherits("KActionCollection")) {
+        QMetaObject::invokeMethod(parent, "addAction", Q_ARG(QString, pAction->objectName()), Q_ARG(QAction *, pAction));
+    }
+
+    return pAction;
+}
+
+QString name(StandardAction id)
+{
+    const KStandardActionsInfo *pInfo = infoPtr(id);
+    return (pInfo) ? pInfo->psName.toString() : QString();
+}
+}
diff --git a/src/gui/kstandardactions.h b/src/gui/kstandardactions.h
new file mode 100644 (file)
index 0000000..12fbc39
--- /dev/null
@@ -0,0 +1,535 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+    SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+*/
+#ifndef KGUISTANDARDACTION_H
+#define KGUISTANDARDACTION_H
+
+#include <QAction>
+#include <QList>
+#include <QStringList>
+
+#include <KStandardShortcut>
+#include <kconfiggui_export.h>
+
+#include <optional>
+#include <type_traits>
+
+class QObject;
+class QAction;
+
+/**
+ * Convenience methods to access all standard KDE actions.
+ *
+ * These actions should be used instead of hardcoding menubar and
+ * toolbar items.  Using these actions helps your application easily
+ * conform to the <a href="https://develop.kde.org/hig/">KDE Human Interface Guidelines</a>.
+ *
+ * All of the documentation for QAction holds for KStandardActions
+ * also.  When in doubt on how things work, check the QAction
+ * documentation first.
+ * Please note that calling any of these methods automatically adds the action
+ * to the actionCollection() of the QObject given by the 'parent' parameter.
+ *
+ * <b>Simple Example:</b>\n
+ *
+ * In general, using standard actions should be a drop in replacement
+ * for regular actions. For example, if you previously had:
+ * @code
+ * QAction *newAct = new QAction(QIcon::fromTheme("document-new"),
+ *                               i18n("&New"),
+ *                               this);
+ * newAct->setShortcut(KStandardShortcut::shortcut(KStandardShortcut::New).constFirst());
+ * connect(newAct, &QAction::triggered, this, &ClassFoo::fileNew);
+ * @endcode
+ *
+ * You can replace it with:
+ * @code
+ * QAction *newAct = KStandardActions::openNew(this, &ClassFoo::fileNew, this);
+ * @endcode
+ *
+ * Alternatively you can instantiate the action using the StandardAction enums
+ * provided.  This author can't think of a reason why you would want to, but, hey,
+ * if you do, here's how:
+ *
+ * \code
+ * QAction *newAct = KStandardActions::create(KStandardActions::New, this, &ClassFoo::fileNew, this);
+ * \endcode
+ *
+ * <b>Relationship with KActionCollection from KXMLGui</b>\n
+ *
+ * If a KActionCollection is passed as the parent then the action will be
+ * automatically added to that collection:
+ * \code
+ * QAction *cut = KStandardActions::cut(this, &ClassFoo::editCut, actionCollection());
+ * \endcode
+ *
+ * Each action has a unique internal name which can be queried using the
+ * name method.  For example KStandardActions::name(KStandardActions::Cut)
+ * would return 'edit_cut'.  This name can be used as a unique identifier
+ * for the actions.  So if you wanted to add an existing standard action
+ * to an action collection you can do so like this:
+ * \code
+ * QAction *cut = KStandardActions::cut(this, &ClassFoo::editCut, this);
+ * actionCollection()->addAction(KStandardActions::name(KStandardActions::Cut), cut);
+ * \endcode
+ *
+ * You can then get a pointer to the action using
+ * \code
+ * QAction *cutPtr = actionCollection()->action(KStandardActions::name(KStandardActions::Cut));
+ * \endcode
+ *
+ * @author Kurt Granroth <granroth@kde.org>
+ * @since 6.3
+ */
+namespace KStandardActions
+{
+/**
+ * The standard menubar and toolbar actions.
+ */
+enum StandardAction {
+    ActionNone,
+    // File Menu
+    New, ///< Create a new document or window.
+    Open, ///< Open an existing file.
+    OpenRecent, ///< Open a recently used document.
+    Save, ///< Save the current document.
+    SaveAs, ///< Save the current document under a different name.
+    Revert, ///< Revert the current document to the last saved version.
+    Close, ///< Close the current document.
+    Print, ///< Print the current document.
+    PrintPreview, ///< Show a print preview of the current document.
+    Mail, ///< Send the current document by mail.
+    Quit, ///< Quit the program.
+    // Edit Menu
+    Undo, ///< Undo the last operation.
+    Redo, ///< Redo the last operation.
+    Cut, ///< Cut selected area and store it in the clipboard.
+    Copy, ///< Copy selected area and store it in the clipboard.
+    Paste, ///< Paste the contents of clipboard at the current mouse or cursor.
+    SelectAll, ///< Select all elements in the current document.
+    Deselect, ///< Deselect any selected elements in the current document.
+    Find, ///< Initiate a 'find' request in the current document.
+    FindNext, ///< Find the next instance of a stored 'find'
+    FindPrev, ///< Find a previous instance of a stored 'find'.
+    Replace, ///< Find and replace matches.
+    // View Menu
+    ActualSize, ///< View the document at its actual size.
+    FitToPage, ///< Fit the document view to the size of the current window.
+    FitToWidth, ///< Fit the document view to the width of the current window.
+    FitToHeight, ///< Fit the document view to the height of the current window.
+    ZoomIn, ///< Zoom in the current document.
+    ZoomOut, ///< Zoom out the current document.
+    Zoom, ///< Select the current zoom level.
+    Redisplay, ///< Redisplay or redraw the document.
+    // Go Menu
+    Up, ///< Move up (web style menu).
+    Back, ///< Move back (web style menu).
+    Forward, ///< Move forward (web style menu).
+    Home, ///< Go to the "Home" position or document.
+    Prior, ///< Scroll up one page.
+    Next, ///< Scroll down one page.
+    Goto, ///< Jump to some specific location in the document.
+    GotoPage, ///< Go to a specific page.
+    GotoLine, ///< Go to a specific line.
+    FirstPage, ///< Jump to the first page.
+    LastPage, ///< Jump to the last page.
+    DocumentBack, ///< Move back (document style menu).
+    DocumentForward, ///< Move forward (document style menu).
+    // Bookmarks Menu
+    AddBookmark, ///< Add the current page to the bookmarks tree.
+    EditBookmarks, ///< Edit the application bookmarks.
+    // Tools Menu
+    Spelling, ///< Pop up the spell checker.
+    // Settings Menu
+    ShowMenubar, ///< Show/Hide the menubar.
+    ShowToolbar, ///< Show/Hide the toolbar.
+    ShowStatusbar, ///< Show/Hide the statusbar.
+    KeyBindings, ///< Display the configure key bindings dialog.
+    Preferences, ///< Display the preferences/options dialog.
+    ConfigureToolbars, ///< Display the toolbar configuration dialog.
+    // Help Menu
+    HelpContents, ///< Display the handbook of the application.
+    WhatsThis, ///< Trigger the What's This cursor.
+    ReportBug, ///< Open up the Report Bug dialog.
+    AboutApp, ///< Display the application's About box.
+    AboutKDE, ///< Display the About KDE dialog.
+    // Other standard actions
+    ConfigureNotifications, ///< Display the notifications configuration dialog.
+    FullScreen, ///< Switch to/from full screen mode.
+    Clear, ///< Clear the content of the focus widget.
+    SwitchApplicationLanguage, ///< Display the Switch Application Language dialog.
+    DeleteFile, ///< Permanently deletes files or folders.
+    RenameFile, ///< Renames files or folders.
+    MoveToTrash, ///< Moves files or folders to the trash.
+    Donate, ///< Open donation page on kde.org.
+    HamburgerMenu ///< Opens a menu that substitutes the menubar.
+    // To keep in sync with KConfigWidgets::KStandardAction
+};
+
+/**
+ * @internal
+ */
+KCONFIGGUI_EXPORT QAction *_kgui_createInternal(StandardAction id, QObject *parent);
+
+/**
+ * Creates an action corresponding to one of the
+ * KStandardActions::StandardAction actions, which is connected to the given
+ * object and @p slot, and is owned by @p parent.
+ *
+ * If not explicitly specified, @p connectionType will be AutoConnection for all actions
+ * except for ConfigureToolbars it will be QueuedConnection.
+ *
+ * @see create(StandardAction, const QObject *, const char *, QObject *)
+ */
+template<class Receiver, class Func>
+inline QAction *create(StandardAction id, const Receiver *recvr, Func slot, QObject *parent, std::optional<Qt::ConnectionType> connectionType = std::nullopt)
+{
+    QAction *action = _kgui_createInternal(id, parent);
+    // ConfigureToolbars is special because of bug #200815
+    const Qt::ConnectionType defaultConnectionType = (id == ConfigureToolbars) ? Qt::QueuedConnection : Qt::AutoConnection;
+    QObject::connect(action, &QAction::triggered, recvr, slot, connectionType.value_or(defaultConnectionType));
+    return action;
+}
+
+/**
+ * This will return the internal name of a given standard action.
+ */
+KCONFIGGUI_EXPORT QString name(StandardAction id);
+
+/**
+ * Returns a list of all actionIds.
+ */
+KCONFIGGUI_EXPORT QList<StandardAction> actionIds();
+
+/**
+ * Returns the standardshortcut associated with @a actionId.
+ *
+ * @param id    The identifier whose associated shortcut is wanted.
+ */
+KCONFIGGUI_EXPORT KStandardShortcut::StandardShortcut shortcutForActionId(StandardAction id);
+
+// clang-format off
+#define KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(name, enumValue) \
+    template<class Receiver, class Func> \
+    inline QAction *name(const Receiver *recvr, Func slot, QObject *parent) \
+    { return create(enumValue, recvr, slot, parent); }
+// clang-format on
+
+/**
+ * Create a new document or window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(openNew, New)
+
+/**
+ * Open an existing file.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(open, Open)
+
+/**
+ * Save the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(save, Save)
+
+/**
+ * Save the current document under a different name.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(saveAs, SaveAs)
+
+/**
+ * Revert the current document to the last saved version
+ * (essentially will undo all changes).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(revert, Revert)
+
+/**
+ * Close the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(close, Close)
+
+/**
+ * Print the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(print, Print)
+
+/**
+ * Show a print preview of the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(printPreview, PrintPreview)
+
+/**
+ * Mail this document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(mail, Mail)
+
+/**
+ * Quit the program.
+ *
+ * Note that you probably want to connect this action to either QWidget::close()
+ * or QApplication::closeAllWindows(), but not QApplication::quit(), so that
+ * KMainWindow::queryClose() is called on any open window (to warn the user
+ * about unsaved changes for example).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(quit, Quit)
+
+/**
+ * Undo the last operation.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(undo, Undo)
+
+/**
+ * Redo the last operation.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(redo, Redo)
+
+/**
+ * Cut selected area and store it in the clipboard.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(cut, Cut)
+
+/**
+ * Copy the selected area into the clipboard.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(copy, Copy)
+
+/**
+ * Paste the contents of clipboard at the current mouse or cursor
+ * position.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(paste, Paste)
+
+/**
+ * Clear the content of the focus widget
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(clear, Clear)
+
+/**
+ * Select all elements in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(selectAll, SelectAll)
+
+/**
+ * Deselect any selected elements in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(deselect, Deselect)
+
+/**
+ * Initiate a 'find' request in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(find, Find)
+
+/**
+ * Find the next instance of a stored 'find'.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(findNext, FindNext)
+
+/**
+ * Find a previous instance of a stored 'find'.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(findPrev, FindPrev)
+
+/**
+ * Find and replace matches.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(replace, Replace)
+
+/**
+ * View the document at its actual size.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(actualSize, ActualSize)
+
+/**
+ * Fit the document view to the size of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToPage, FitToPage)
+
+/**
+ * Fit the document view to the width of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToWidth, FitToWidth)
+
+/**
+ * Fit the document view to the height of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToHeight, FitToHeight)
+
+/**
+ * Zoom in the current document view.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomIn, ZoomIn)
+
+/**
+ * Zoom out the current document view.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomOut, ZoomOut)
+
+/**
+ * Select the current zoom level.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoom, Zoom)
+
+/**
+ * Redisplay or redraw the document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(redisplay, Redisplay)
+
+/**
+ * Move up (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(up, Up)
+
+/**
+ * Move back (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(back, Back)
+
+/**
+ * Move forward (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(forward, Forward)
+
+/**
+ * Go to the "Home" position or document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(home, Home)
+
+/**
+ * Scroll up one page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(prior, Prior)
+
+/**
+ * Scroll down one page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(next, Next)
+
+/**
+ * Jump to some specific location in the document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(goTo, Goto)
+
+/**
+ * Go to a specific page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoPage, GotoPage)
+
+/**
+ * Go to a specific line.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoLine, GotoLine)
+
+/**
+ * Jump to the first page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(firstPage, FirstPage)
+
+/**
+ * Jump to the last page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(lastPage, LastPage)
+
+/**
+ * Move back (document style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentBack, DocumentBack)
+
+/**
+ * Move forward (document style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentForward, DocumentForward)
+
+/**
+ * Add the current page to the bookmarks tree.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(addBookmark, AddBookmark)
+
+/**
+ * Edit the application bookmarks.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(editBookmarks, EditBookmarks)
+
+/**
+ * Pop up the spell checker.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(spelling, Spelling)
+
+/**
+ * Display the configure key bindings dialog.
+ *
+ * Note that you might be able to use the pre-built KXMLGUIFactory's function:
+ * @code
+ * KStandardActions::keyBindings(guiFactory(), &KXMLGUIFactory::showConfigureShortcutsDialog, actionCollection());
+ * @endcode
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(keyBindings, KeyBindings)
+
+/**
+ * Display the preferences/options dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(preferences, Preferences)
+
+/**
+ * Display the toolbar configuration dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureToolbars, ConfigureToolbars)
+
+/**
+ * Display the notifications configuration dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureNotifications, ConfigureNotifications)
+
+/**
+ * Display the Switch Application Language dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(switchApplicationLanguage, SwitchApplicationLanguage)
+
+/**
+ * Display the handbook of the application.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(helpContents, HelpContents)
+
+/**
+ * Trigger the What's This cursor.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(whatsThis, WhatsThis)
+
+/**
+ * Open up the Report Bug dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(reportBug, ReportBug)
+
+/**
+ * Display the application's About box.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutApp, AboutApp)
+
+/**
+ * Display the About KDE dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutKDE, AboutKDE)
+
+/**
+ * Permanently deletes files or folders.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(deleteFile, DeleteFile)
+
+/**
+ * Renames files or folders.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(renameFile, RenameFile)
+
+/**
+ * Moves files or folders to the trash.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(moveToTrash, MoveToTrash)
+
+/**
+ * Open donation page on kde.org.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(donate, Donate)
+}
+
+#endif // KSTDACTION_H
diff --git a/src/gui/kstandardactions_p.h b/src/gui/kstandardactions_p.h
new file mode 100644 (file)
index 0000000..7f687d4
--- /dev/null
@@ -0,0 +1,181 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#pragma once
+
+#include <QAction>
+#include <QGuiApplication>
+
+#include <KStandardActions>
+#include <KStandardShortcut>
+
+#include <string>
+
+namespace KStandardActions
+{
+
+/**
+ * Helper class for storing raw data in static tables which can be used for QString instance
+ * creation at runtime without copying/converting to new memalloc'ed memory, as well as avoiding
+ * that way storing the strings directly as QStrings resulting in non-constexpr init code on
+ * library loading
+ * @internal
+ */
+struct RawStringData {
+    template<std::size_t StringSize>
+    constexpr inline RawStringData(const char16_t (&_data)[StringSize])
+        : data(_data)
+        , size(std::char_traits<char16_t>::length(_data))
+    {
+    }
+    constexpr inline RawStringData(std::nullptr_t)
+    {
+    }
+    constexpr inline RawStringData() = default;
+
+    inline QString toString() const
+    {
+        if (!data) {
+            return QString();
+        }
+
+        return Qt::Literals::StringLiterals::operator""_s(data, size);
+    }
+
+private:
+    const char16_t *const data = nullptr;
+    const std::size_t size = 0;
+};
+
+/**
+ * @internal
+ */
+struct KStandardActionsInfo {
+    KStandardActions::StandardAction id;
+    KStandardShortcut::StandardShortcut idAccel;
+    const RawStringData psName;
+    const char *psLabel;
+    const char *psToolTip;
+    const RawStringData psIconName;
+};
+// clang-format off
+static constexpr KStandardActionsInfo g_rgActionInfo[] = {
+    { New,           KStandardShortcut::New, u"file_new", QT_TRANSLATE_NOOP("KStandardActions", "&New"), QT_TRANSLATE_NOOP("KStandardActions", "Create new document"), u"document-new" },
+    { Open,          KStandardShortcut::Open, u"file_open", QT_TRANSLATE_NOOP("KStandardActions", "&Open…"), QT_TRANSLATE_NOOP("KStandardActions", "Open an existing document"), u"document-open" },
+    { OpenRecent,    KStandardShortcut::AccelNone, u"file_open_recent", QT_TRANSLATE_NOOP("KStandardActions", "Open &Recent"), QT_TRANSLATE_NOOP("KStandardActions", "Open a document which was recently opened"), u"document-open-recent" },
+    { Save,          KStandardShortcut::Save, u"file_save", QT_TRANSLATE_NOOP("KStandardActions", "&Save"), QT_TRANSLATE_NOOP("KStandardActions", "Save document"), u"document-save" },
+    { SaveAs,        KStandardShortcut::SaveAs, u"file_save_as", QT_TRANSLATE_NOOP("KStandardActions", "Save &As…"), QT_TRANSLATE_NOOP("KStandardActions", "Save document under a new name"), u"document-save-as" },
+    { Revert,        KStandardShortcut::Revert, u"file_revert", QT_TRANSLATE_NOOP("KStandardActions", "Re&vert"), QT_TRANSLATE_NOOP("KStandardActions", "Revert unsaved changes made to document"), u"document-revert" },
+    { Close,         KStandardShortcut::Close, u"file_close", QT_TRANSLATE_NOOP("KStandardActions", "&Close"), QT_TRANSLATE_NOOP("KStandardActions", "Close document"), u"document-close" },
+    { Print,         KStandardShortcut::Print, u"file_print", QT_TRANSLATE_NOOP("KStandardActions", "&Print…"), QT_TRANSLATE_NOOP("KStandardActions", "Print document"), u"document-print" },
+    { PrintPreview,  KStandardShortcut::PrintPreview, u"file_print_preview", QT_TRANSLATE_NOOP("KStandardActions", "Print Previe&w"), QT_TRANSLATE_NOOP("KStandardActions", "Show a print preview of document"), u"document-print-preview" },
+    { Mail,          KStandardShortcut::Mail, u"file_mail", QT_TRANSLATE_NOOP("KStandardActions", "&Mail…"), QT_TRANSLATE_NOOP("KStandardActions", "Send document by mail"), u"mail-send" },
+    { Quit,          KStandardShortcut::Quit, u"file_quit", QT_TRANSLATE_NOOP("KStandardActions", "&Quit"), QT_TRANSLATE_NOOP("KStandardActions", "Quit application"), u"application-exit" },
+
+    { Undo,          KStandardShortcut::Undo, u"edit_undo", QT_TRANSLATE_NOOP("KStandardActions", "&Undo"), QT_TRANSLATE_NOOP("KStandardActions", "Undo last action"), u"edit-undo" },
+    { Redo,          KStandardShortcut::Redo, u"edit_redo", QT_TRANSLATE_NOOP("KStandardActions", "Re&do"), QT_TRANSLATE_NOOP("KStandardActions", "Redo last undone action"), u"edit-redo" },
+    { Cut,           KStandardShortcut::Cut, u"edit_cut", QT_TRANSLATE_NOOP("KStandardActions", "Cu&t"), QT_TRANSLATE_NOOP("KStandardActions", "Cut selection to clipboard"), u"edit-cut" },
+    { Copy,          KStandardShortcut::Copy, u"edit_copy", QT_TRANSLATE_NOOP("KStandardActions", "&Copy"), QT_TRANSLATE_NOOP("KStandardActions", "Copy selection to clipboard"), u"edit-copy" },
+    { Paste,         KStandardShortcut::Paste, u"edit_paste", QT_TRANSLATE_NOOP("KStandardActions", "&Paste"), QT_TRANSLATE_NOOP("KStandardActions", "Paste clipboard content"), u"edit-paste" },
+    { Clear,         KStandardShortcut::Clear, u"edit_clear", QT_TRANSLATE_NOOP("KStandardActions", "C&lear"), {}, u"edit-clear" },
+    { SelectAll,     KStandardShortcut::SelectAll, u"edit_select_all", QT_TRANSLATE_NOOP("KStandardActions", "Select &All"), {}, u"edit-select-all" },
+    { Deselect,      KStandardShortcut::Deselect, u"edit_deselect", QT_TRANSLATE_NOOP("KStandardActions", "Dese&lect"), {}, u"edit-select-none" },
+    { Find,          KStandardShortcut::Find, u"edit_find", QT_TRANSLATE_NOOP("KStandardActions", "&Find…"), {}, u"edit-find" },
+    { FindNext,      KStandardShortcut::FindNext, u"edit_find_next", QT_TRANSLATE_NOOP("KStandardActions", "Find &Next"), {}, u"go-down-search" },
+    { FindPrev,      KStandardShortcut::FindPrev, u"edit_find_prev", QT_TRANSLATE_NOOP("KStandardActions", "Find Pre&vious"), {}, u"go-up-search" },
+    { Replace,       KStandardShortcut::Replace, u"edit_replace", QT_TRANSLATE_NOOP("KStandardActions", "&Replace…"), {}, u"edit-find-replace" },
+
+    { ActualSize,    KStandardShortcut::ActualSize, u"view_actual_size", QT_TRANSLATE_NOOP("KStandardActions", "Zoom to &Actual Size"), QT_TRANSLATE_NOOP("KStandardActions", "View document at its actual size"), u"zoom-original" },
+    { FitToPage,     KStandardShortcut::FitToPage, u"view_fit_to_page", QT_TRANSLATE_NOOP("KStandardActions", "&Fit to Page"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page in window"), u"zoom-fit-page" },
+    { FitToWidth,    KStandardShortcut::FitToWidth, u"view_fit_to_width", QT_TRANSLATE_NOOP("KStandardActions", "Fit to Page &Width"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page width in window"), u"zoom-fit-width" },
+    { FitToHeight,   KStandardShortcut::FitToHeight, u"view_fit_to_height", QT_TRANSLATE_NOOP("KStandardActions", "Fit to Page &Height"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page height in window"), u"zoom-fit-height" },
+    { ZoomIn,        KStandardShortcut::ZoomIn, u"view_zoom_in", QT_TRANSLATE_NOOP("KStandardActions", "Zoom &In"), {}, u"zoom-in" },
+    { ZoomOut,       KStandardShortcut::ZoomOut, u"view_zoom_out", QT_TRANSLATE_NOOP("KStandardActions", "Zoom &Out"), {}, u"zoom-out" },
+    { Zoom,          KStandardShortcut::Zoom, u"view_zoom", QT_TRANSLATE_NOOP("KStandardActions", "&Zoom…"), QT_TRANSLATE_NOOP("KStandardActions", "Select zoom level"), u"zoom" },
+    { Redisplay,     KStandardShortcut::Reload, u"view_redisplay", QT_TRANSLATE_NOOP("KStandardActions", "&Refresh"), QT_TRANSLATE_NOOP("KStandardActions", "Refresh document"), u"view-refresh" },
+
+    { Up,            KStandardShortcut::Up, u"go_up", QT_TRANSLATE_NOOP("KStandardActions", "&Up"), QT_TRANSLATE_NOOP("KStandardActions", "Go up"), u"go-up" },
+    // The following three have special i18n() needs for sLabel
+    { Back,          KStandardShortcut::Back, u"go_back", {}, {}, u"go-previous" },
+    { Forward,       KStandardShortcut::Forward, u"go_forward", {}, {}, u"go-next" },
+    { Home,          KStandardShortcut::Home, u"go_home", {}, {}, u"go-home" },
+    { Prior,         KStandardShortcut::Prior, u"go_previous", QT_TRANSLATE_NOOP("KStandardActions", "&Previous Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to previous page"), u"go-previous-view-page" },
+    { Next,          KStandardShortcut::Next, u"go_next", QT_TRANSLATE_NOOP("KStandardActions", "&Next Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to next page"), u"go-next-view-page" },
+    { Goto,          KStandardShortcut::Goto, u"go_goto", QT_TRANSLATE_NOOP("KStandardActions", "&Go To…"), {}, {} },
+    { GotoPage,      KStandardShortcut::GotoPage, u"go_goto_page", QT_TRANSLATE_NOOP("KStandardActions", "&Go to Page…"), {}, u"go-jump" },
+    { GotoLine,      KStandardShortcut::GotoLine, u"go_goto_line", QT_TRANSLATE_NOOP("KStandardActions", "&Go to Line…"), {}, {} },
+    { FirstPage,     KStandardShortcut::Begin, u"go_first", QT_TRANSLATE_NOOP("KStandardActions", "&First Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to first page"), u"go-first-view-page" },
+    { LastPage,      KStandardShortcut::End, u"go_last", QT_TRANSLATE_NOOP("KStandardActions", "&Last Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to last page"), u"go-last-view-page" },
+    { DocumentBack,  KStandardShortcut::DocumentBack, u"go_document_back", QT_TRANSLATE_NOOP("KStandardActions", "&Back"), QT_TRANSLATE_NOOP("KStandardActions", "Go back in document"), u"go-previous" },
+    { DocumentForward, KStandardShortcut::DocumentForward, u"go_document_forward", QT_TRANSLATE_NOOP("KStandardActions", "&Forward"), QT_TRANSLATE_NOOP("KStandardActions", "Go forward in document"), u"go-next" },
+
+    { AddBookmark,   KStandardShortcut::AddBookmark, u"bookmark_add", QT_TRANSLATE_NOOP("KStandardActions", "&Add Bookmark"), {}, u"bookmark-new" },
+    { EditBookmarks, KStandardShortcut::EditBookmarks, u"bookmark_edit", QT_TRANSLATE_NOOP("KStandardActions", "&Edit Bookmarks…"), {}, u"bookmarks-organize" },
+
+    { Spelling,      KStandardShortcut::Spelling, u"tools_spelling", QT_TRANSLATE_NOOP("KStandardActions", "&Spelling…"), QT_TRANSLATE_NOOP("KStandardActions", "Check spelling in document"), u"tools-check-spelling" },
+
+    { ShowMenubar,   KStandardShortcut::ShowMenubar, u"options_show_menubar", QT_TRANSLATE_NOOP("KStandardActions", "Show &Menubar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide menubar"), u"show-menu" },
+    { ShowToolbar,   KStandardShortcut::ShowToolbar, u"options_show_toolbar", QT_TRANSLATE_NOOP("KStandardActions", "Show &Toolbar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide toolbar"), {} },
+    { ShowStatusbar, KStandardShortcut::ShowStatusbar, u"options_show_statusbar", QT_TRANSLATE_NOOP("KStandardActions", "Show St&atusbar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide statusbar"), {} },
+    { FullScreen,    KStandardShortcut::FullScreen, u"fullscreen", QT_TRANSLATE_NOOP("KStandardActions", "F&ull Screen Mode"), {}, u"view-fullscreen" },
+    { KeyBindings,   KStandardShortcut::KeyBindings, u"options_configure_keybinding", QT_TRANSLATE_NOOP("KStandardActions", "Configure Keyboard S&hortcuts…"), {}, u"configure-shortcuts" },
+    { Preferences,   KStandardShortcut::Preferences, u"options_configure", QT_TRANSLATE_NOOP("KStandardActions", "&Configure %1…"), {}, u"configure" },
+    { ConfigureToolbars, KStandardShortcut::ConfigureToolbars, u"options_configure_toolbars", QT_TRANSLATE_NOOP("KStandardActions", "Configure Tool&bars…"), {}, u"configure-toolbars" },
+    { ConfigureNotifications, KStandardShortcut::ConfigureNotifications, u"options_configure_notifications", QT_TRANSLATE_NOOP("KStandardActions", "Configure &Notifications…"), {}, u"preferences-desktop-notification" },
+
+    // the idea here is that Contents is used in menus, and Help in dialogs, so both share the same
+    // shortcut
+    { HelpContents,  KStandardShortcut::Help, u"help_contents", QT_TRANSLATE_NOOP("KStandardActions", "%1 &Handbook"), {}, u"help-contents" },
+    { WhatsThis,     KStandardShortcut::WhatsThis, u"help_whats_this", QT_TRANSLATE_NOOP("KStandardActions", "What's &This?"), {}, u"help-contextual" },
+    { ReportBug,     KStandardShortcut::ReportBug, u"help_report_bug", QT_TRANSLATE_NOOP("KStandardActions", "&Report Bug…"), {}, u"tools-report-bug" },
+    { SwitchApplicationLanguage, KStandardShortcut::SwitchApplicationLanguage, u"switch_application_language", QT_TRANSLATE_NOOP("KStandardActions", "Configure &Language…"), {}, u"preferences-desktop-locale" },
+    { AboutApp,      KStandardShortcut::AccelNone, u"help_about_app", QT_TRANSLATE_NOOP("KStandardActions", "&About %1"), {}, nullptr },
+    { AboutKDE,      KStandardShortcut::AccelNone, u"help_about_kde", QT_TRANSLATE_NOOP("KStandardActions", "About &KDE"), {}, u"kde" },
+    { DeleteFile,    KStandardShortcut::DeleteFile, u"deletefile", QT_TRANSLATE_NOOP("KStandardActions", "&Delete"), {}, u"edit-delete" },
+    { RenameFile,    KStandardShortcut::RenameFile, u"renamefile", QT_TRANSLATE_NOOP("KStandardActions", "&Rename…"), {}, u"edit-rename" },
+    { MoveToTrash,   KStandardShortcut::MoveToTrash, u"movetotrash", QT_TRANSLATE_NOOP("KStandardActions", "&Move to Trash"), {}, u"trash-empty" },
+    { Donate,        KStandardShortcut::Donate, u"help_donate", QT_TRANSLATE_NOOP("KStandardActions", "&Donate"), {}, u"help-donate"},
+    { HamburgerMenu, KStandardShortcut::OpenMainMenu, u"hamburger_menu", QT_TRANSLATE_NOOP("KStandardActions", "Open &Menu"), {}, u"application-menu" },
+};
+// clang-format on
+
+/**
+ * @internal
+ */
+inline const KStandardActionsInfo *infoPtr(StandardAction id)
+{
+    for (const auto &action : g_rgActionInfo) {
+        if (action.id == id) {
+            return &action;
+        }
+    }
+
+    return nullptr;
+}
+
+/**
+ * @internal
+ */
+static inline QStringList internal_stdNames()
+{
+    QStringList result;
+
+    for (const auto &action : g_rgActionInfo) {
+        if (!QCoreApplication::translate("KStandardActions", action.psLabel).isEmpty()) {
+            if (QByteArrayView(action.psLabel).contains("%1"))
+            // Prevents KLocalizedString::toString() from complaining about unsubstituted placeholder.
+            {
+                result.append(QCoreApplication::translate("KStandardActions", action.psLabel).arg(QString()));
+            } else {
+                result.append(QCoreApplication::translate("KStandardActions", action.psLabel));
+            }
+        }
+    }
+
+    return result;
+}
+}
diff --git a/src/gui/kstandardshortcut.cpp b/src/gui/kstandardshortcut.cpp
new file mode 100644 (file)
index 0000000..63c8133
--- /dev/null
@@ -0,0 +1,877 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@alpin.or.at>
+    SPDX-FileCopyrightText: 2000 Nicolas Hadacek <haadcek@kde.org>
+    SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kstandardshortcut.h"
+#include "kstandardshortcutwatcher.h"
+
+#include "kconfig.h"
+#include "kconfigwatcher.h"
+#include "ksharedconfig.h"
+#include <kconfiggroup.h>
+
+#include <QCoreApplication>
+#include <QDebug>
+#include <QKeySequence>
+
+namespace KStandardShortcut
+{
+struct KStandardShortcutInfo {
+    //! The standard shortcut id. @see StandardShortcut
+    StandardShortcut id;
+
+    /**
+     * Unique name for the given accel. The name is used to save the user
+     * settings. It's not representable. Use description for that.
+     * @warning NEVER EVER CHANGE IT OR TRANSLATE IT!
+     */
+    const char *name;
+
+    //! Localized label for user-visible display, including translation context.
+    struct {
+        const char *text;
+        const char *context;
+    } description;
+
+    //! The keys for this shortcut
+    int cutDefault, cutDefault2;
+
+    //! A shortcut that is created with @a cutDefault and @cutDefault2
+    QList<QKeySequence> cut;
+
+    //! If this struct is initialized. If not initialized @cut is not valid
+    bool isInitialized;
+
+    // Category of this Shortcut
+    Category category;
+};
+
+#define CTRL(x) QKeyCombination(Qt::CTRL | Qt::Key_##x).toCombined()
+#define SHIFT(x) QKeyCombination(Qt::SHIFT | Qt::Key_##x).toCombined()
+#define CTRLALT(x) QKeyCombination(Qt::CTRL | Qt::ALT | Qt::Key_##x).toCombined()
+#define CTRLSHIFT(x) QKeyCombination(Qt::CTRL | Qt::SHIFT | Qt::Key_##x).toCombined()
+#define ALT(x) QKeyCombination(Qt::ALT | Qt::Key_##x).toCombined()
+#define ALTSHIFT(x) QKeyCombination(Qt::ALT | Qt::SHIFT | Qt::Key_##x).toCombined()
+#define CTRLMETA(x) QKeyCombination(Qt::CTRL | Qt::META | Qt::Key_##x).toCombined()
+
+/** Array of predefined KStandardShortcutInfo objects, which cover all
+    the "standard" accelerators. Each enum value from StandardShortcut
+    should appear in this table.
+*/
+// STUFF WILL BREAK IF YOU DON'T READ THIS!!!
+// Read the comments of the big enum in kstandardshortcut.h before you change anything!
+static KStandardShortcutInfo g_infoStandardShortcut[] = {
+    // Group File,
+    {AccelNone, nullptr, {nullptr, nullptr}, 0, 0, QList<QKeySequence>(), false, Category::InvalidCategory},
+    {Open, "Open", QT_TRANSLATE_NOOP3("KStandardShortcut", "Open", "@action"), CTRL(O), 0, QList<QKeySequence>(), false, Category::File},
+    {New, "New", QT_TRANSLATE_NOOP3("KStandardShortcut", "New", "@action"), CTRL(N), 0, QList<QKeySequence>(), false, Category::File},
+    {Close, "Close", QT_TRANSLATE_NOOP3("KStandardShortcut", "Close", "@action"), CTRL(W), CTRL(Escape), QList<QKeySequence>(), false, Category::File},
+    {Save, "Save", QT_TRANSLATE_NOOP3("KStandardShortcut", "Save", "@action"), CTRL(S), 0, QList<QKeySequence>(), false, Category::File},
+    {Print, "Print", QT_TRANSLATE_NOOP3("KStandardShortcut", "Print", "@action"), CTRL(P), 0, QList<QKeySequence>(), false, Category::File},
+    {Quit, "Quit", QT_TRANSLATE_NOOP3("KStandardShortcut", "Quit", "@action"), CTRL(Q), 0, QList<QKeySequence>(), false, Category::Navigation},
+
+    // Group Edit
+    {Undo, "Undo", QT_TRANSLATE_NOOP3("KStandardShortcut", "Undo", "@action"), CTRL(Z), 0, QList<QKeySequence>(), false, Category::Edit},
+    {Redo, "Redo", QT_TRANSLATE_NOOP3("KStandardShortcut", "Redo", "@action"), CTRLSHIFT(Z), 0, QList<QKeySequence>(), false, Category::Edit},
+    // Both "Cut" and "Delete" use Shift+Delete, but this is okay; see
+    // https://commits.kde.org/kxmlgui/8eabbf6725386e716b7536c71a9181dfe5d959f0
+    {Cut, "Cut", QT_TRANSLATE_NOOP3("KStandardShortcut", "Cut", "@action"), CTRL(X), SHIFT(Delete), QList<QKeySequence>(), false, Category::Edit},
+    {Copy, "Copy", QT_TRANSLATE_NOOP3("KStandardShortcut", "Copy", "@action"), CTRL(C), CTRL(Insert), QList<QKeySequence>(), false, Category::Edit},
+    {Paste, "Paste", QT_TRANSLATE_NOOP3("KStandardShortcut", "Paste", "@action"), CTRL(V), SHIFT(Insert), QList<QKeySequence>(), false, Category::Edit},
+    {PasteSelection,
+     "Paste Selection",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Paste Selection", "@action"),
+     CTRLSHIFT(Insert),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+
+    {SelectAll, "SelectAll", QT_TRANSLATE_NOOP3("KStandardShortcut", "Select All", "@action"), CTRL(A), 0, QList<QKeySequence>(), false, Category::Edit},
+    {Deselect, "Deselect", QT_TRANSLATE_NOOP3("KStandardShortcut", "Deselect", "@action"), CTRLSHIFT(A), 0, QList<QKeySequence>(), false, Category::Edit},
+    {DeleteWordBack,
+     "DeleteWordBack",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete Word Backwards", "@action"),
+#if defined(Q_OS_MACOS)
+     ALT(Backspace),
+#else
+     CTRL(Backspace),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+    {DeleteWordForward,
+     "DeleteWordForward",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete Word Forward", "@action"),
+#if defined(Q_OS_MACOS)
+     ALT(Delete),
+#else
+     CTRL(Delete),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+
+    {Find, "Find", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find", "@action"), CTRL(F), 0, QList<QKeySequence>(), false, Category::Edit},
+    {FindNext, "FindNext", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find Next", "@action"), Qt::Key_F3, 0, QList<QKeySequence>(), false, Category::Edit},
+    {FindPrev, "FindPrev", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find Prev", "@action"), SHIFT(F3), 0, QList<QKeySequence>(), false, Category::Edit},
+    {Replace, "Replace", QT_TRANSLATE_NOOP3("KStandardShortcut", "Replace", "@action"), CTRL(R), 0, QList<QKeySequence>(), false, Category::Edit},
+
+    // Group Navigation
+    {Home,
+     "Home",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Home", "@action Go to main page"),
+     ALT(Home),
+     Qt::Key_HomePage,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {Begin,
+     "Begin",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Begin", "@action Beginning of document"),
+#if defined(Q_OS_MACOS)
+     CTRL(Up),
+#else
+     CTRL(Home),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {End,
+     "End",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "End", "@action End of document"),
+#if defined(Q_OS_MACOS)
+     CTRL(Down),
+#else
+     CTRL(End),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {Prior, "Prior", QT_TRANSLATE_NOOP3("KStandardShortcut", "Prior", "@action"), Qt::Key_PageUp, 0, QList<QKeySequence>(), false, Category::Navigation},
+    {Next,
+     "Next",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Next", "@action Opposite to Prior"),
+     Qt::Key_PageDown,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+
+    {Up, "Up", QT_TRANSLATE_NOOP3("KStandardShortcut", "Up", "@action"), ALT(Up), 0, QList<QKeySequence>(), false, Category::Navigation},
+    {Back, "Back", QT_TRANSLATE_NOOP3("KStandardShortcut", "Back", "@action"), ALT(Left), Qt::Key_Back, QList<QKeySequence>(), false, Category::Navigation},
+    {Forward,
+     "Forward",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Forward", "@action"),
+     ALT(Right),
+     Qt::Key_Forward,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {Reload,
+     "Reload",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Reload", "@action"),
+     Qt::Key_F5,
+     Qt::Key_Refresh,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+
+    {BeginningOfLine,
+     "BeginningOfLine",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Beginning of Line", "@action"),
+#if defined(Q_OS_MACOS)
+     CTRL(Left),
+#else
+     Qt::Key_Home,
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {EndOfLine,
+     "EndOfLine",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "End of Line", "@action"),
+#if defined(Q_OS_MACOS)
+     CTRL(Right),
+#else
+     Qt::Key_End,
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {GotoLine, "GotoLine", QT_TRANSLATE_NOOP3("KStandardShortcut", "Go to Line", "@action"), CTRL(G), 0, QList<QKeySequence>(), false, Category::Navigation},
+    {BackwardWord,
+     "BackwardWord",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Backward Word", "@action"),
+#if defined(Q_OS_MACOS)
+     ALT(Left),
+#else
+     CTRL(Left),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {ForwardWord,
+     "ForwardWord",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Forward Word", "@action"),
+#if defined(Q_OS_MACOS)
+     ALT(Right),
+#else
+     CTRL(Right),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+
+    {AddBookmark,
+     "AddBookmark",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Add Bookmark", "@action"),
+     CTRL(B),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {ZoomIn, "ZoomIn", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom In", "@action"), CTRL(Plus), CTRL(Equal), QList<QKeySequence>(), false, Category::View},
+    {ZoomOut, "ZoomOut", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom Out", "@action"), CTRL(Minus), 0, QList<QKeySequence>(), false, Category::View},
+    {FullScreen,
+     "FullScreen",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Full Screen Mode", "@action"),
+#if defined(Q_OS_MACOS)
+     CTRLMETA(F),
+#else
+     CTRLSHIFT(F),
+#endif
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::View},
+
+    {ShowMenubar, "ShowMenubar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Menu Bar", "@action"), CTRL(M), 0, QList<QKeySequence>(), false, Category::View},
+    {TabNext,
+     "Activate Next Tab",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Activate Next Tab", "@action"),
+     CTRL(PageDown),
+     CTRL(BracketRight),
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {TabPrev,
+     "Activate Previous Tab",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Activate Previous Tab", "@action"),
+     CTRL(PageUp),
+     CTRL(BracketLeft),
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+
+    // Group Help
+    {Help, "Help", QT_TRANSLATE_NOOP3("KStandardShortcut", "Help", "@action"), Qt::Key_F1, 0, QList<QKeySequence>(), false, Category::Help},
+    {WhatsThis, "WhatsThis", QT_TRANSLATE_NOOP3("KStandardShortcut", "What's This", "@action"), SHIFT(F1), 0, QList<QKeySequence>(), false, Category::Help},
+
+    // Group TextCompletion
+    {TextCompletion,
+     "TextCompletion",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Text Completion", "@action"),
+     CTRL(E),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+    {PrevCompletion,
+     "PrevCompletion",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Previous Completion Match", "@action"),
+     CTRL(Up),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+    {NextCompletion,
+     "NextCompletion",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Next Completion Match", "@action"),
+     CTRL(Down),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+    {SubstringCompletion,
+     "SubstringCompletion",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Substring Completion", "@action"),
+     CTRL(T),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Edit},
+
+    {RotateUp,
+     "RotateUp",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Previous Item in List", "@action"),
+     Qt::Key_Up,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {RotateDown,
+     "RotateDown",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Next Item in List", "@action"),
+     Qt::Key_Down,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+
+    {OpenRecent, "OpenRecent", QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Recent", "@action"), 0, 0, QList<QKeySequence>(), false, Category::File},
+    {SaveAs, "SaveAs", QT_TRANSLATE_NOOP3("KStandardShortcut", "Save As", "@action"), CTRLSHIFT(S), 0, QList<QKeySequence>(), false, Category::File},
+    {Revert, "Revert", QT_TRANSLATE_NOOP3("KStandardShortcut", "Revert", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+    {PrintPreview, "PrintPreview", QT_TRANSLATE_NOOP3("KStandardShortcut", "Print Preview", "@action"), 0, 0, QList<QKeySequence>(), false, Category::File},
+    {Mail, "Mail", QT_TRANSLATE_NOOP3("KStandardShortcut", "Mail", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+    {Clear, "Clear", QT_TRANSLATE_NOOP3("KStandardShortcut", "Clear", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+    {ActualSize,
+     "ActualSize",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom to Actual Size", "@action"),
+     CTRL(0),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::View},
+    {FitToPage, "FitToPage", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Page", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {FitToWidth, "FitToWidth", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Width", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {FitToHeight, "FitToHeight", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Height", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {Zoom, "Zoom", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {Goto, "Goto", QT_TRANSLATE_NOOP3("KStandardShortcut", "Goto", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Navigation},
+    {GotoPage, "GotoPage", QT_TRANSLATE_NOOP3("KStandardShortcut", "Goto Page", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Navigation},
+    {DocumentBack,
+     "DocumentBack",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Document Back", "@action"),
+     ALTSHIFT(Left),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {DocumentForward,
+     "DocumentForward",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Document Forward", "@action"),
+     ALTSHIFT(Right),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {EditBookmarks,
+     "EditBookmarks",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Edit Bookmarks", "@action"),
+     0,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Navigation},
+    {Spelling, "Spelling", QT_TRANSLATE_NOOP3("KStandardShortcut", "Spelling", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+    {ShowToolbar, "ShowToolbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Toolbar", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {ShowStatusbar, "ShowStatusbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Statusbar", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+    {KeyBindings,
+     "KeyBindings",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Key Bindings", "@action"),
+     CTRLALT(Comma),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Settings},
+    {Preferences,
+     "Preferences",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Application", "@action"),
+     CTRLSHIFT(Comma),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Settings},
+    {ConfigureToolbars,
+     "ConfigureToolbars",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Toolbars", "@action"),
+     0,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Settings},
+    {ConfigureNotifications,
+     "ConfigureNotifications",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Notifications", "@action"),
+     0,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Settings},
+    {ReportBug, "ReportBug", QT_TRANSLATE_NOOP3("KStandardShortcut", "Report Bug", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+    {SwitchApplicationLanguage,
+     "SwitchApplicationLanguage",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Language…", "@action"),
+     0,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::Settings},
+    {AboutApp, "AboutApp", QT_TRANSLATE_NOOP3("KStandardShortcut", "About Application", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+    {AboutKDE, "AboutKDE", QT_TRANSLATE_NOOP3("KStandardShortcut", "About KDE", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+    // Both "Cut" and "Delete" use Shift+Delete, but this is okay; see
+    // https://commits.kde.org/kxmlgui/8eabbf6725386e716b7536c71a9181dfe5d959f0
+    {DeleteFile, "DeleteFile", QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete", "@action"), SHIFT(Delete), 0, QList<QKeySequence>(), false, Category::File},
+    {RenameFile, "RenameFile", QT_TRANSLATE_NOOP3("KStandardShortcut", "Rename", "@action"), Qt::Key_F2, 0, QList<QKeySequence>(), false, Category::File},
+    {MoveToTrash,
+     "MoveToTrash",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Move to Trash", "@action"),
+     Qt::Key_Delete,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::File},
+    {Donate, "Donate", QT_TRANSLATE_NOOP3("KStandardShortcut", "Donate", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+    {ShowHideHiddenFiles,
+     "ShowHideHiddenFiles",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Show/Hide Hidden Files", "@action"),
+     CTRL(H),
+     ALT(Period),
+     QList<QKeySequence>(),
+     false,
+     Category::View},
+    {CreateFolder,
+     "CreateFolder",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Create Folder", "@action"),
+     CTRLSHIFT(N),
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::File},
+    {OpenMainMenu,
+     "OpenMainMenu",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Main Menu", "@action referring to the menu bar or a hamburger menu"),
+     Qt::Key_F10,
+     0,
+     QList<QKeySequence>(),
+     false,
+     Category::View},
+    {OpenContextMenu,
+     "OpenContextMenu",
+     QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Context Menu", "@action"),
+     Qt::Key_Menu,
+     SHIFT(F10),
+     QList<QKeySequence>(),
+     false,
+     Category::View},
+
+    // dummy entry to catch simple off-by-one errors. Insert new entries before this line.
+    {AccelNone, nullptr, {nullptr, nullptr}, 0, 0, QList<QKeySequence>(), false, Category::InvalidCategory}};
+
+/** Search for the KStandardShortcutInfo object associated with the given @p id.
+    Return a dummy entry with no name and an empty shortcut if @p id is invalid.
+*/
+static KStandardShortcutInfo *guardedStandardShortcutInfo(StandardShortcut id)
+{
+    if (id >= static_cast<int>(sizeof(g_infoStandardShortcut) / sizeof(KStandardShortcutInfo)) || id < 0) {
+        qWarning() << "KStandardShortcut: id not found!";
+        return &g_infoStandardShortcut[AccelNone];
+    } else {
+        return &g_infoStandardShortcut[id];
+    }
+}
+
+// Sanitize the list for duplicates. For some reason some
+// people have kdeglobals entries like
+//   Close=Ctrl+W; Ctrl+Esc; Ctrl+W; Ctrl+Esc;
+// having the same shortcut more than once in the shortcut
+// declaration is clearly bogus so fix it
+static void sanitizeShortcutList(QList<QKeySequence> *list)
+{
+    for (int i = 0; i < list->size(); ++i) {
+        const QKeySequence &ks = list->at(i);
+        int other = list->indexOf(ks, i + 1);
+        while (other != -1) {
+            list->removeAt(other);
+            other = list->indexOf(ks, other);
+        }
+    }
+}
+
+/** Initialize the accelerator @p id by checking if it is overridden
+    in the configuration file (and if it isn't, use the default).
+    On X11, if QApplication was initialized with GUI disabled,
+    the default will always be used.
+*/
+void initialize(StandardShortcut id)
+{
+    KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+    // All three are needed.
+    if (info->id != AccelNone) {
+        Q_ASSERT(info->description.text);
+        Q_ASSERT(info->description.context);
+        Q_ASSERT(info->name);
+    }
+
+    KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+
+    if (cg.hasKey(info->name)) {
+        QString s = cg.readEntry(info->name);
+        if (s != QLatin1String("none")) {
+            info->cut = QKeySequence::listFromString(s);
+            sanitizeShortcutList(&info->cut);
+        } else {
+            info->cut = QList<QKeySequence>();
+        }
+    } else {
+        info->cut = hardcodedDefaultShortcut(id);
+    }
+
+    info->isInitialized = true;
+}
+
+void saveShortcut(StandardShortcut id, const QList<QKeySequence> &newShortcut)
+{
+    KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+    // If the action has no standard shortcut associated there is nothing to
+    // save
+    if (info->id == AccelNone) {
+        return;
+    }
+
+    KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+
+    info->cut = newShortcut;
+    bool sameAsDefault = (newShortcut == hardcodedDefaultShortcut(id));
+
+    if (sameAsDefault) {
+        // If the shortcut is the equal to the hardcoded one we remove it from
+        // kdeglobal if necessary and return.
+        if (cg.hasKey(info->name)) {
+            cg.deleteEntry(info->name, KConfig::Global | KConfig::Persistent | KConfig::Notify);
+            cg.sync();
+        }
+
+        return;
+    }
+
+    // Write the changed shortcut to kdeglobals
+    sanitizeShortcutList(&info->cut);
+    cg.writeEntry(info->name, QKeySequence::listToString(info->cut), KConfig::Global | KConfig::Persistent | KConfig::Notify);
+    cg.sync();
+}
+
+QString name(StandardShortcut id)
+{
+    return QString::fromLatin1(guardedStandardShortcutInfo(id)->name);
+}
+
+QString label(StandardShortcut id)
+{
+    KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+    return QCoreApplication::translate("KStandardShortcut", info->description.text, info->description.context);
+}
+
+// TODO: Add psWhatsThis entry to KStandardShortcutInfo
+QString whatsThis(StandardShortcut /*id*/)
+{
+    //  KStandardShortcutInfo* info = guardedStandardShortcutInfo( id );
+    //  if( info && info->whatsThis )
+    //      return i18n(info->whatsThis);
+    //  else
+    return QString();
+}
+
+const QList<QKeySequence> &shortcut(StandardShortcut id)
+{
+    KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+    if (!info->isInitialized) {
+        initialize(id);
+    }
+
+    return info->cut;
+}
+
+StandardShortcut find(const QKeySequence &seq)
+{
+    if (!seq.isEmpty()) {
+        for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
+            const StandardShortcut id = shortcutInfo.id;
+            if (id != AccelNone) {
+                if (!shortcutInfo.isInitialized) {
+                    initialize(id);
+                }
+                if (shortcutInfo.cut.contains(seq)) {
+                    return id;
+                }
+            }
+        }
+    }
+    return AccelNone;
+}
+
+StandardShortcut findByName(const QString &name)
+{
+    for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
+        if (QLatin1StringView(shortcutInfo.name) == name) {
+            return shortcutInfo.id;
+        }
+    }
+    return AccelNone;
+}
+
+QList<QKeySequence> hardcodedDefaultShortcut(StandardShortcut id)
+{
+    QList<QKeySequence> cut;
+    KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+    if (info->cutDefault != 0) {
+        cut << info->cutDefault;
+    }
+
+    if (info->cutDefault2 != 0) {
+        if (cut.isEmpty()) {
+            cut << QKeySequence();
+        }
+
+        cut << info->cutDefault2;
+    }
+
+    return cut;
+}
+
+Category category(StandardShortcut id)
+{
+    return guardedStandardShortcutInfo(id)->category;
+}
+
+const QList<QKeySequence> &open()
+{
+    return shortcut(Open);
+}
+const QList<QKeySequence> &openNew()
+{
+    return shortcut(New);
+}
+const QList<QKeySequence> &close()
+{
+    return shortcut(Close);
+}
+const QList<QKeySequence> &save()
+{
+    return shortcut(Save);
+}
+const QList<QKeySequence> &print()
+{
+    return shortcut(Print);
+}
+const QList<QKeySequence> &quit()
+{
+    return shortcut(Quit);
+}
+const QList<QKeySequence> &cut()
+{
+    return shortcut(Cut);
+}
+const QList<QKeySequence> &copy()
+{
+    return shortcut(Copy);
+}
+const QList<QKeySequence> &paste()
+{
+    return shortcut(Paste);
+}
+const QList<QKeySequence> &pasteSelection()
+{
+    return shortcut(PasteSelection);
+}
+const QList<QKeySequence> &deleteWordBack()
+{
+    return shortcut(DeleteWordBack);
+}
+const QList<QKeySequence> &deleteWordForward()
+{
+    return shortcut(DeleteWordForward);
+}
+const QList<QKeySequence> &undo()
+{
+    return shortcut(Undo);
+}
+const QList<QKeySequence> &redo()
+{
+    return shortcut(Redo);
+}
+const QList<QKeySequence> &find()
+{
+    return shortcut(Find);
+}
+const QList<QKeySequence> &findNext()
+{
+    return shortcut(FindNext);
+}
+const QList<QKeySequence> &findPrev()
+{
+    return shortcut(FindPrev);
+}
+const QList<QKeySequence> &replace()
+{
+    return shortcut(Replace);
+}
+const QList<QKeySequence> &home()
+{
+    return shortcut(Home);
+}
+const QList<QKeySequence> &begin()
+{
+    return shortcut(Begin);
+}
+const QList<QKeySequence> &end()
+{
+    return shortcut(End);
+}
+const QList<QKeySequence> &beginningOfLine()
+{
+    return shortcut(BeginningOfLine);
+}
+const QList<QKeySequence> &endOfLine()
+{
+    return shortcut(EndOfLine);
+}
+const QList<QKeySequence> &prior()
+{
+    return shortcut(Prior);
+}
+const QList<QKeySequence> &next()
+{
+    return shortcut(Next);
+}
+const QList<QKeySequence> &backwardWord()
+{
+    return shortcut(BackwardWord);
+}
+const QList<QKeySequence> &forwardWord()
+{
+    return shortcut(ForwardWord);
+}
+const QList<QKeySequence> &gotoLine()
+{
+    return shortcut(GotoLine);
+}
+const QList<QKeySequence> &addBookmark()
+{
+    return shortcut(AddBookmark);
+}
+const QList<QKeySequence> &tabNext()
+{
+    return shortcut(TabNext);
+}
+const QList<QKeySequence> &tabPrev()
+{
+    return shortcut(TabPrev);
+}
+const QList<QKeySequence> &fullScreen()
+{
+    return shortcut(FullScreen);
+}
+const QList<QKeySequence> &zoomIn()
+{
+    return shortcut(ZoomIn);
+}
+const QList<QKeySequence> &zoomOut()
+{
+    return shortcut(ZoomOut);
+}
+const QList<QKeySequence> &help()
+{
+    return shortcut(Help);
+}
+const QList<QKeySequence> &completion()
+{
+    return shortcut(TextCompletion);
+}
+const QList<QKeySequence> &prevCompletion()
+{
+    return shortcut(PrevCompletion);
+}
+const QList<QKeySequence> &nextCompletion()
+{
+    return shortcut(NextCompletion);
+}
+const QList<QKeySequence> &rotateUp()
+{
+    return shortcut(RotateUp);
+}
+const QList<QKeySequence> &rotateDown()
+{
+    return shortcut(RotateDown);
+}
+const QList<QKeySequence> &substringCompletion()
+{
+    return shortcut(SubstringCompletion);
+}
+const QList<QKeySequence> &whatsThis()
+{
+    return shortcut(WhatsThis);
+}
+const QList<QKeySequence> &reload()
+{
+    return shortcut(Reload);
+}
+const QList<QKeySequence> &selectAll()
+{
+    return shortcut(SelectAll);
+}
+const QList<QKeySequence> &up()
+{
+    return shortcut(Up);
+}
+const QList<QKeySequence> &back()
+{
+    return shortcut(Back);
+}
+const QList<QKeySequence> &forward()
+{
+    return shortcut(Forward);
+}
+const QList<QKeySequence> &showMenubar()
+{
+    return shortcut(ShowMenubar);
+}
+const QList<QKeySequence> &deleteFile()
+{
+    return shortcut(DeleteFile);
+}
+const QList<QKeySequence> &renameFile()
+{
+    return shortcut(RenameFile);
+}
+const QList<QKeySequence> &createFolder()
+{
+    return shortcut(CreateFolder);
+}
+const QList<QKeySequence> &moveToTrash()
+{
+    return shortcut(MoveToTrash);
+}
+const QList<QKeySequence> &preferences()
+{
+    return shortcut(Preferences);
+}
+const QList<QKeySequence> &showHideHiddenFiles()
+{
+    return shortcut(ShowHideHiddenFiles);
+}
+const QList<QKeySequence> &openMainMenu()
+{
+    return shortcut(OpenMainMenu);
+}
+const QList<QKeySequence> &openContextMenu()
+{
+    return shortcut(OpenContextMenu);
+}
+}
diff --git a/src/gui/kstandardshortcut.h b/src/gui/kstandardshortcut.h
new file mode 100644 (file)
index 0000000..cd81070
--- /dev/null
@@ -0,0 +1,578 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@kde.org>
+    SPDX-FileCopyrightText: 2000 Nicolas Hadacek <hadacek@kde.org>
+    SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KSTANDARDSHORTCUT_H
+#define KSTANDARDSHORTCUT_H
+
+#include <QKeySequence>
+#include <QString>
+
+#include <kconfiggui_export.h>
+
+/**
+ * \namespace KStandardShortcut
+ * Convenient methods for access to the common accelerator keys in
+ * the key configuration. These are the standard keybindings that should
+ * be used in all KDE applications. They will be configurable,
+ * so do not hardcode the default behavior.
+ */
+namespace KStandardShortcut
+{
+// STUFF WILL BREAK IF YOU DON'T READ THIS!!!
+/*
+ *Always add new std-accels to the end of this enum, never in the middle!
+ *Don't forget to add the corresponding entries in g_infoStandardShortcut[] in kstandardshortcut.cpp, too.
+ *Values of elements here and positions of the corresponding entries in
+ *the big array g_infoStandardShortcut[] ABSOLUTELY MUST BE THE SAME.
+ * !!!    !!!!   !!!!!    !!!!
+ *    !!!!    !!!     !!!!    !!!!
+ *
+ * Other Rules:
+ *
+ * - Never change the name of an existing shortcut
+ * - Never translate the name of a shortcut
+ */
+
+/**
+ * Defines the identifier of all standard accelerators.
+ */
+enum StandardShortcut {
+    // C++ requires that the value of an enum symbol be one more than the previous one.
+    // This means that everything will be well-ordered from here on.
+    AccelNone = 0,
+    // File menu
+    Open, ///< Open file.
+    New, ///< Create a new document.
+    Close, ///< Close current document.
+    Save, ///< Save current document.
+    // The Print item
+    Print, ///< Print current document.
+    Quit, ///< Quit the program.
+    // Edit menu
+    Undo, ///< Undo last operation.
+    Redo, ///< Redo last operation.
+    Cut, ///< Cut selected area and store it in the clipboard.
+    Copy, ///< Copy selected area into the clipboard.
+    Paste, ///< Paste contents of clipboard at mouse/cursor position.
+    PasteSelection, ///< Paste the selection at mouse/cursor position.
+    SelectAll, ///< Select all.
+    Deselect, ///< Deselect any selected elements.
+    DeleteWordBack, ///< Delete a word back from mouse/cursor position.
+    DeleteWordForward, ///< Delete a word forward from mouse/cursor position.
+    Find, ///< Initiate a 'find' request in the current document.
+    FindNext, ///< Find the next instance of a stored 'find'.
+    FindPrev, ///< Find a previous instance of a stored 'find'.
+    Replace, ///< Find and replace matches.
+    // Navigation
+    Home, ///< Go to home page.
+    Begin, ///< Go to beginning of the document.
+    End, ///< Go to end of the document.
+    Prior, ///< Scroll up one page.
+    Next, ///< Scroll down one page.
+    Up, ///< Up.
+    Back, ///< Back.
+    Forward, ///< Forward.
+    Reload, ///< Reload.
+    // Text Navigation
+    BeginningOfLine, ///< Go to beginning of current line.
+    EndOfLine, ///< Go to end of current line.
+    GotoLine, ///< Go to line.
+    BackwardWord, ///< BackwardWord.
+    ForwardWord, ///< ForwardWord.
+    // View parameters
+    AddBookmark, ///< Add current page to bookmarks.
+    ZoomIn, ///< Zoom in.
+    ZoomOut, ///< Zoom out.
+    FullScreen, ///< Full Screen mode.
+    ShowMenubar, ///< Show Menu Bar.
+    // Tabular navigation
+    TabNext, ///< Next Tab.
+    TabPrev, ///< Previous Tab.
+    // Help menu
+    Help, ///< Help the user in the current situation.
+    WhatsThis, ///< What's This button.
+    // Text completion
+    TextCompletion, ///< Complete text in input widgets.
+    PrevCompletion, ///< Iterate through a list when completion returns multiple items.
+    NextCompletion, ///< Iterate through a list when completion returns multiple items.
+    SubstringCompletion, ///< Find a string within another string or list of strings.
+    RotateUp, ///< Help users iterate through a list of entries.
+    RotateDown, ///< Help users iterate through a list of entries.
+    OpenRecent, ///< Open a recently used document.
+    SaveAs, ///< Save the current document under a different name.
+    Revert, ///< Revert the current document to the last saved version.
+    PrintPreview, ///< Show a print preview of the current document.
+    Mail, ///< Send the current document by mail.
+    Clear, ///< Clear the content of the focus widget.
+    ActualSize, ///< View the document at its actual size.
+    FitToPage, ///< Fit the document view to the size of the current window.
+    FitToWidth, ///< Fit the document view to the width of the current window.
+    FitToHeight, ///< Fit the document view to the height of the current window.
+    Zoom, ///< Select the current zoom level.
+    Goto, ///< Jump to some specific location in the document.
+    GotoPage, ///< Go to a specific page.
+    DocumentBack, ///< Move back (document style menu).
+    DocumentForward, ///< Move forward (document style menu).
+    EditBookmarks, ///< Edit the application bookmarks.
+    Spelling, ///< Pop up the spell checker.
+    ShowToolbar, ///< Show/Hide the toolbar.
+    ShowStatusbar, ///< Show/Hide the statusbar.
+    KeyBindings, ///< Display the configure key bindings dialog.
+    Preferences, ///< Display the preferences/options dialog.
+    ConfigureToolbars, ///< Display the toolbar configuration dialog.
+    ConfigureNotifications, ///< Display the notifications configuration dialog.
+    ReportBug, ///< Display the Report Bug dialog.
+    SwitchApplicationLanguage, ///< Display the Switch Application Language dialog.
+    AboutApp, ///< Display the application's About dialog.
+    AboutKDE, ///< Display the About KDE dialog.
+    DeleteFile, ///< Permanently delete files or folders. @since 5.25
+    RenameFile, ///< Rename files or folders. @since 5.25
+    MoveToTrash, ///< Move files or folders to the trash. @since 5.25
+    Donate, ///< Open donation page on kde.org. @since 5.26
+    ShowHideHiddenFiles, ///< Toggle showing or hiding hidden files @since 5.70
+    CreateFolder, ///< Create a folder. @since 5.74
+    OpenMainMenu, ///< Open a main menu like the menu bar or a hamburger menu. Necessary for accessibility. @since 6.0
+    OpenContextMenu, ///< Open a context menu for the object with keyboard focus. Necessary for accessibility. @since 6.0
+    // Insert new items here!
+
+    StandardShortcutCount, // number of standard shortcuts
+};
+
+/**
+ * Categories in which the standard shortcuts can be classified
+ * @since 5.74
+ */
+enum class Category {
+    InvalidCategory = -1,
+    File,
+    Edit,
+    Navigation,
+    View,
+    Settings,
+    Help,
+};
+
+/**
+ * Returns the keybinding for @p accel.
+ * On X11, if QApplication was initialized with GUI disabled, the
+ * default keybinding will always be returned.
+ * @param id the id of the accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &shortcut(StandardShortcut id);
+
+/**
+ * Returns a unique name for the given accel.
+ * @param id the id of the accelerator
+ * @return the unique name of the accelerator
+ */
+KCONFIGGUI_EXPORT QString name(StandardShortcut id);
+
+/**
+ * Returns a localized label for user-visible display.
+ * @param id the id of the accelerator
+ * @return a localized label for the accelerator
+ */
+KCONFIGGUI_EXPORT QString label(StandardShortcut id);
+
+/**
+ * Returns an extended WhatsThis description for the given accelerator.
+ * @param id the id of the accelerator
+ * @return a localized description of the accelerator
+ */
+KCONFIGGUI_EXPORT QString whatsThis(StandardShortcut id);
+
+/**
+ * Return the StandardShortcut id of the standard accel action which
+ * uses this key sequence, or AccelNone if none of them do.
+ * This is used by class KKeyChooser.
+ * @param keySeq the key sequence to search
+ * @return the id of the standard accelerator, or AccelNone if there
+ *          is none
+ */
+KCONFIGGUI_EXPORT StandardShortcut find(const QKeySequence &keySeq);
+
+/**
+ * Return the StandardShortcut id of the standard accelerator action which
+ * has \p name as its name, or AccelNone if none of them do.
+ * @param name the name as returned by  name(StandardShortcut id)
+ * @return the id of the standard accelerator with the given name or AccelNone
+ * if there is no such accelerator
+ * @since 5.71
+ */
+KCONFIGGUI_EXPORT StandardShortcut findByName(const QString &name);
+
+/**
+ * Returns the hardcoded default shortcut for @p id.
+ * This does not take into account the user's configuration.
+ * @param id the id of the accelerator
+ * @return the default shortcut of the accelerator
+ */
+KCONFIGGUI_EXPORT QList<QKeySequence> hardcodedDefaultShortcut(StandardShortcut id);
+
+/**
+ * Saves the new shortcut \a cut for standard accel \a id.
+ */
+KCONFIGGUI_EXPORT void saveShortcut(StandardShortcut id, const QList<QKeySequence> &newShortcut);
+
+/**
+ * Returns the appropriate category for the given StandardShortcut \p id.
+ * @since 5.73
+ */
+KCONFIGGUI_EXPORT Category category(StandardShortcut id);
+
+/**
+ * Open file. Default: Ctrl-o
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &open();
+
+/**
+ * Create a new document (or whatever). Default: Ctrl-n
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openNew();
+
+/**
+ * Close current document. Default: Ctrl-w
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &close();
+
+/**
+ * Save current document. Default: Ctrl-s
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &save();
+
+/**
+ * Print current document. Default: Ctrl-p
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &print();
+
+/**
+ * Quit the program. Default: Ctrl-q
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &quit();
+
+/**
+ * Undo last operation. Default: Ctrl-z
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &undo();
+
+/**
+ * Redo last operation. Default: Shift-Ctrl-z
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &redo();
+
+/**
+ * Cut selected area and store it in the clipboard. Default: Ctrl-x
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &cut();
+
+/**
+ * Copy selected area into the clipboard. Default: Ctrl-c
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &copy();
+
+/**
+ * Paste contents of clipboard at mouse/cursor position. Default: Ctrl-v
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &paste();
+
+/**
+ * Paste the selection at mouse/cursor position. Default: Ctrl-Shift-Insert
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &pasteSelection();
+
+/**
+ * Select all. Default: Ctrl-A
+ * @return the shortcut of the standard accelerator
+ **/
+KCONFIGGUI_EXPORT const QList<QKeySequence> &selectAll();
+
+/**
+ * Delete a word back from mouse/cursor position. Default: Ctrl-Backspace
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteWordBack();
+
+/**
+ * Delete a word forward from mouse/cursor position. Default: Ctrl-Delete
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteWordForward();
+
+/**
+ * Initiate a 'find' request in the current document. Default: Ctrl-f
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &find();
+
+/**
+ * Find the next instance of a stored 'find' Default: F3
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &findNext();
+
+/**
+ * Find a previous instance of a stored 'find'. Default: Shift-F3
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &findPrev();
+
+/**
+ * Find and replace matches. Default: Ctrl-r
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &replace();
+
+/**
+ * Zoom in. Default: Ctrl-Plus
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &zoomIn();
+
+/**
+ * Zoom out. Default: Ctrl-Minus
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &zoomOut();
+
+/**
+ * Go to home page. Default: Alt-Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &home();
+
+/**
+ * Go to beginning of the document. Default: Ctrl-Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &begin();
+
+/**
+ * Go to end of the document. Default: Ctrl-End
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &end();
+
+/**
+ * Go to beginning of current line. Default: Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &beginningOfLine();
+
+/**
+ * Go to end of current line. Default: End
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &endOfLine();
+
+/**
+ * Scroll up one page. Default: Prior
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &prior();
+
+/**
+ * Scroll down one page. Default: Next
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &next();
+
+/**
+ * Go to line. Default: Ctrl+G
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &gotoLine();
+
+/**
+ * Add current page to bookmarks. Default: Ctrl+B
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &addBookmark();
+
+/**
+ * Next Tab. Default: Ctrl-<
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &tabNext();
+
+/**
+ * Previous Tab. Default: Ctrl->
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &tabPrev();
+
+/**
+ * Full Screen Mode. Default: Ctrl+Shift+F
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &fullScreen();
+
+/**
+ * Help the user in the current situation. Default: F1
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &help();
+
+/**
+ * Complete text in input widgets. Default Ctrl+E
+ * @return the shortcut of the standard accelerator
+ **/
+KCONFIGGUI_EXPORT const QList<QKeySequence> &completion();
+
+/**
+ * Iterate through a list when completion returns
+ * multiple items. Default: Ctrl+Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &prevCompletion();
+
+/**
+ * Iterate through a list when completion returns
+ * multiple items. Default: Ctrl+Down
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &nextCompletion();
+
+/**
+ * Find a string within another string or list of strings.
+ * Default: Ctrl-T
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &substringCompletion();
+
+/**
+ * Help users iterate through a list of entries. Default: Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &rotateUp();
+
+/**
+ * Help users iterate through a list of entries. Default: Down
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &rotateDown();
+
+/**
+ * What's This button. Default: Shift+F1
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &whatsThis();
+
+/**
+ * Reload. Default: F5
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &reload();
+
+/**
+ * Up. Default: Alt+Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &up();
+
+/**
+ * Back. Default: Alt+Left
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &back();
+
+/**
+ * Forward. Default: ALT+Right
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &forward();
+
+/**
+ * BackwardWord. Default: Ctrl+Left
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &backwardWord();
+
+/**
+ * ForwardWord. Default: Ctrl+Right
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &forwardWord();
+
+/**
+ * Show Menu Bar.  Default: Ctrl-M
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &showMenubar();
+
+/**
+ * Permanently delete files or folders. Default: Shift+Delete
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteFile();
+
+/**
+ * Rename files or folders. Default: F2
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &renameFile();
+
+/**
+ * Create a folder. Default: Ctrl+Shift+N
+ * @return the shortcut of the standard accelerator
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &createFolder();
+
+/**
+ * Moves files or folders to the trash. Default: Delete
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &moveToTrash();
+
+/**
+ * Opens the app's settings window. Default: Ctrl+Shift+Comma
+ * @return the shortcut of the standard accelerator
+ * @since 5.64
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &preferences();
+
+/**
+ * Shows or hides hidden files. Defaults: Ctrl+H, Alt+.
+ * @return the shortcut of the standard accelerator
+ * @since 5.70
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &showHideHiddenFiles();
+
+/**
+ * Open a main menu like the menu bar or a hamburger menu.
+ * Necessary for accessibility. Default: F10
+ * @return the shortcut of the standard accelerator
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openMainMenu();
+
+/**
+ * Open a context menu for the object with keyboard focus.
+ * Necessary for accessibility. Default: Menu, Shift+F10
+ * @return the shortcut of the standard accelerator
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openContextMenu();
+}
+
+#endif // KSTANDARDSHORTCUT_H
diff --git a/src/gui/kstandardshortcut_p.h b/src/gui/kstandardshortcut_p.h
new file mode 100644 (file)
index 0000000..f4b0a0f
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@alpin.or.at>
+    SPDX-FileCopyrightText: 2000 Nicolas Hadacek <haadcek@kde.org>
+    SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSTANDARDSHORTCUT_P_H
+#define KSTANDARDSHORTCUT_P_H
+
+#include "kstandardshortcut.h"
+
+namespace KStandardShortcut
+{
+void initialize(StandardShortcut id);
+}
+
+#endif
diff --git a/src/gui/kstandardshortcutwatcher.cpp b/src/gui/kstandardshortcutwatcher.cpp
new file mode 100644 (file)
index 0000000..948842d
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+    SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+    SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kstandardshortcutwatcher.h"
+
+#include "kconfigwatcher.h"
+#include "kstandardshortcut_p.h"
+
+namespace KStandardShortcut
+{
+class StandardShortcutWatcherPrivate
+{
+public:
+    KConfigWatcher::Ptr watcher = KConfigWatcher::create(KSharedConfig::openConfig());
+};
+
+StandardShortcutWatcher::StandardShortcutWatcher(QObject *parent)
+    : QObject(parent)
+    , d(std::make_unique<StandardShortcutWatcherPrivate>())
+{
+    connect(d->watcher.get(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &group, const QByteArrayList &keys) {
+        if (group.name() != QStringLiteral("Shortcuts")) {
+            return;
+        }
+        for (const auto &key : keys) {
+            const StandardShortcut shortcut = KStandardShortcut::findByName(QString::fromUtf8(key));
+            if (shortcut != KStandardShortcut::AccelNone) {
+                initialize(shortcut);
+                Q_EMIT shortcutChanged(shortcut, KStandardShortcut::shortcut(shortcut));
+            }
+        }
+    });
+}
+
+StandardShortcutWatcher::~StandardShortcutWatcher() = default;
+
+StandardShortcutWatcher *shortcutWatcher()
+{
+    static StandardShortcutWatcher watcher;
+    return &watcher;
+}
+
+}
+
+#include "moc_kstandardshortcutwatcher.cpp"
diff --git a/src/gui/kstandardshortcutwatcher.h b/src/gui/kstandardshortcutwatcher.h
new file mode 100644 (file)
index 0000000..a7c3d8e
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+    SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+    SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KSTANDARDSHORTCUTWATCHER_H
+#define KSTANDARDSHORTCUTWATCHER_H
+
+#include "kstandardshortcut.h"
+
+#include <QObject>
+
+#include <memory>
+
+#include <kconfiggui_export.h>
+
+namespace KStandardShortcut
+{
+class StandardShortcutWatcherPrivate;
+
+/**
+ * Watches for changes made to standard shortcuts and notifies about those changes.
+ * @see KStandardShortcut::shortcutWatcher
+ * @since 5.91
+ */
+class KCONFIGGUI_EXPORT StandardShortcutWatcher : public QObject
+{
+    Q_OBJECT
+public:
+    ~StandardShortcutWatcher();
+Q_SIGNALS:
+    /**
+     * The standardshortcut @p id was changed to @p shortcut
+     */
+    void shortcutChanged(KStandardShortcut::StandardShortcut id, const QList<QKeySequence> &shortcut);
+
+private:
+    KCONFIGGUI_NO_EXPORT explicit StandardShortcutWatcher(QObject *parent = nullptr);
+
+    friend KCONFIGGUI_EXPORT StandardShortcutWatcher *shortcutWatcher();
+    std::unique_ptr<StandardShortcutWatcherPrivate> d;
+};
+
+/**
+ * Returns the global KStandardShortcutWatcher instance of this program.
+ * In addition to the notifying about changes it also keeps the information returned by the
+ * functions in @p KStandardShortcut up to date.
+ * The object is created by the first call to this function.
+ * @since 5.91
+ */
+KCONFIGGUI_EXPORT StandardShortcutWatcher *shortcutWatcher();
+}
+
+#endif
diff --git a/src/gui/kwindowconfig.cpp b/src/gui/kwindowconfig.cpp
new file mode 100644 (file)
index 0000000..ba4149f
--- /dev/null
@@ -0,0 +1,242 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2012 Benjamin Port <benjamin.port@ben2367.fr>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kwindowconfig.h"
+#include "ksharedconfig.h"
+
+#include <QGuiApplication>
+#include <QScreen>
+#include <QWindow>
+
+static const char s_initialSizePropertyName[] = "_kconfig_initial_size";
+static const char s_initialScreenSizePropertyName[] = "_kconfig_initial_screen_size";
+
+// Convenience function to get a space-separated list of all connected screens
+static QString allConnectedScreens()
+{
+    QStringList names;
+    const auto screens = QGuiApplication::screens();
+    names.reserve(screens.length());
+    for (auto screen : screens) {
+        names << screen->name();
+    }
+    // A string including the connector names is used in the config file key for
+    // storing per-screen-arrangement size and position data, which means we
+    // need this string to be consistent for the same screen arrangement. But
+    // connector order is non-deterministic. We need to sort the list to keep a
+    // consistent order and avoid losing multi-screen size and position data.
+    names.sort();
+    return names.join(QLatin1Char(' '));
+}
+
+// Convenience function to return screen by its name from window screen siblings
+// returns current window screen if not found
+static QScreen *findScreenByName(const QWindow *window, const QString screenName)
+{
+    if (screenName == window->screen()->name()) {
+        return window->screen();
+    }
+    for (QScreen *s : window->screen()->virtualSiblings()) {
+        if (s->name() == screenName) {
+            return s;
+        }
+    }
+    return window->screen();
+}
+
+// Convenience function to get an appropriate config file key under which to
+// save window size, position, or maximization information.
+static QString configFileString(const QString &key)
+{
+    QString returnString;
+    const int numberOfScreens = QGuiApplication::screens().length();
+
+    if (numberOfScreens == 1) {
+        // For single-screen setups, we save data on a per-resolution basis.
+        const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry();
+        returnString = QStringLiteral("%1x%2 screen: %3").arg(QString::number(screenGeometry.width()), QString::number(screenGeometry.height()), key);
+    } else {
+        // For multi-screen setups, we save data based on the number of screens.
+        // Distinguishing individual screens based on their names is unreliable
+        // due to name strings being inherently volatile.
+        returnString = QStringLiteral("%1 screens: %2").arg(QString::number(numberOfScreens), key);
+    }
+    return returnString;
+}
+
+// Convenience function for "window is maximized" string
+static QString screenMaximizedString()
+{
+    return configFileString(QStringLiteral("Window-Maximized"));
+}
+// Convenience function for window width string
+static QString windowWidthString()
+{
+    return configFileString(QStringLiteral("Width"));
+}
+// Convenience function for window height string
+static QString windowHeightString()
+{
+    return configFileString(QStringLiteral("Height"));
+}
+// Convenience function for window X position string
+static QString windowXPositionString()
+{
+    return configFileString(QStringLiteral("XPosition"));
+}
+// Convenience function for window Y position string
+static QString windowYPositionString()
+{
+    return configFileString(QStringLiteral("YPosition"));
+}
+static QString windowScreenPositionString()
+{
+    return QStringLiteral("%1").arg(allConnectedScreens());
+}
+
+void KWindowConfig::saveWindowSize(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options)
+{
+    // QWindow::screen() shouldn't return null, but it sometimes does due to bugs.
+    if (!window || !window->screen()) {
+        return;
+    }
+    const QScreen *screen = window->screen();
+
+    const QSize sizeToSave = window->size();
+    const bool isMaximized = window->windowState() & Qt::WindowMaximized;
+
+    // Save size only if window is not maximized
+    if (!isMaximized) {
+        const QSize defaultSize(window->property(s_initialSizePropertyName).toSize());
+        const QSize defaultScreenSize(window->property(s_initialScreenSizePropertyName).toSize());
+        const bool sizeValid = defaultSize.isValid() && defaultScreenSize.isValid();
+        if (!sizeValid || (defaultSize != sizeToSave || defaultScreenSize != screen->geometry().size())) {
+            config.writeEntry(windowWidthString(), sizeToSave.width(), options);
+            config.writeEntry(windowHeightString(), sizeToSave.height(), options);
+            // Don't keep the maximized string in the file since the window is
+            // no longer maximized at this point
+            config.deleteEntry(screenMaximizedString());
+        }
+        // Revert width and height to default if they are same as defaults
+        else {
+            config.revertToDefault(windowWidthString());
+            config.revertToDefault(windowHeightString());
+        }
+    }
+    if ((isMaximized == false) && !config.hasDefault(screenMaximizedString())) {
+        config.revertToDefault(screenMaximizedString());
+    } else {
+        config.writeEntry(screenMaximizedString(), isMaximized, options);
+    }
+}
+
+bool KWindowConfig::hasSavedWindowSize(KConfigGroup &config)
+{
+    return config.hasKey(windowWidthString()) || config.hasKey(windowHeightString()) || config.hasKey(screenMaximizedString());
+}
+
+void KWindowConfig::restoreWindowSize(QWindow *window, const KConfigGroup &config)
+{
+    if (!window) {
+        return;
+    }
+
+    const QString screenName = config.readEntry(windowScreenPositionString(), window->screen()->name());
+
+    const int width = config.readEntry(windowWidthString(), -1);
+    const int height = config.readEntry(windowHeightString(), -1);
+    const bool isMaximized = config.readEntry(configFileString(QStringLiteral("Window-Maximized")), false);
+
+    // Check default size
+    const QSize defaultSize(window->property(s_initialSizePropertyName).toSize());
+    const QSize defaultScreenSize(window->property(s_initialScreenSizePropertyName).toSize());
+    if (!defaultSize.isValid() || !defaultScreenSize.isValid()) {
+        const QScreen *screen = findScreenByName(window, screenName);
+        window->setProperty(s_initialSizePropertyName, window->size());
+        window->setProperty(s_initialScreenSizePropertyName, screen->geometry().size());
+    }
+
+    if (width > 0 && height > 0) {
+        window->resize(width, height);
+    }
+
+    if (isMaximized) {
+        window->setWindowState(Qt::WindowMaximized);
+    }
+}
+
+void KWindowConfig::saveWindowPosition(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options)
+{
+    // On Wayland, the compositor is solely responsible for window positioning,
+    // So this needs to be a no-op
+    if (!window || QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+        return;
+    }
+
+    // If the window is maximized, saving the position will only serve to mis-position
+    // it once de-maximized, so let's not do that
+    if (window->windowState() & Qt::WindowMaximized) {
+        return;
+    }
+
+    config.writeEntry(windowXPositionString(), window->x(), options);
+    config.writeEntry(windowYPositionString(), window->y(), options);
+    config.writeEntry(windowScreenPositionString(), window->screen()->name(), options);
+}
+
+bool KWindowConfig::hasSavedWindowPosition(KConfigGroup &config)
+{
+    // Window position save/restore features outside of the compositor are not
+    // supported on Wayland
+    if (QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+        return false;
+    }
+
+    return config.hasKey(windowXPositionString()) || config.hasKey(windowYPositionString()) || config.hasKey(windowScreenPositionString());
+}
+
+void KWindowConfig::restoreWindowPosition(QWindow *window, const KConfigGroup &config)
+{
+    // On Wayland, the compositor is solely responsible for window positioning,
+    // So this needs to be a no-op
+    if (!window || QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+        return;
+    }
+
+    const bool isMaximized = config.readEntry(configFileString(QStringLiteral("Window-Maximized")), false);
+
+    // Don't need to restore position if the window was maximized
+    if (isMaximized) {
+        window->setWindowState(Qt::WindowMaximized);
+        return;
+    }
+
+    // Move window to proper screen
+    const QScreen *screen = window->screen();
+    const QString screenName = config.readEntry(windowScreenPositionString(), screen->name());
+    if (screenName != screen->name()) {
+        QScreen *screenConf = findScreenByName(window, screenName);
+        window->setScreen(screenConf);
+        restoreWindowScreenPosition(window, screenConf, config);
+        return;
+    }
+    restoreWindowScreenPosition(window, screen, config);
+}
+
+void KWindowConfig::restoreWindowScreenPosition(QWindow *window, const QScreen *screen, const KConfigGroup &config)
+{
+    Q_UNUSED(screen);
+    const int xPos = config.readEntry(windowXPositionString(), -1);
+    const int yPos = config.readEntry(windowYPositionString(), -1);
+
+    if (xPos == -1 || yPos == -1) {
+        return;
+    }
+
+    window->setX(xPos);
+    window->setY(yPos);
+}
diff --git a/src/gui/kwindowconfig.h b/src/gui/kwindowconfig.h
new file mode 100644 (file)
index 0000000..ba7f50d
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2012 Benjamin Port <benjamin.port@ben2367.fr>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KWINDOWCONFIG_H
+#define KWINDOWCONFIG_H
+
+#include <kconfiggroup.h>
+#include <kconfiggui_export.h>
+
+class QWindow;
+class QScreen;
+
+/**
+ * Save and load window sizes into a config
+ */
+namespace KWindowConfig
+{
+/**
+ * Saves the window's size dependent on the screen dimension either to the
+ * global or application config file.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window to save size.
+ * @param config The config group to read from.
+ * @param options passed to KConfigGroup::writeEntry()
+ * @since 5.0
+ */
+KCONFIGGUI_EXPORT void saveWindowSize(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options = KConfigGroup::Normal);
+
+/**
+ * Returns whether a given KConfig group has any saved window size data.
+ *
+ * @param config The config group to read from.
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT bool hasSavedWindowSize(KConfigGroup &config);
+
+/**
+ * Restores the dialog's size from the configuration according to
+ * the screen size.
+ *
+ * If you're calling this from a constructor (for a mainwindow or dialog, for instance)
+ * you should first call winId() so that a QWindow is created, then you can call windowHandle()
+ * to pass to this method.
+ *
+ * Example code:
+ * @code
+ *   create(); // ensure there's a window created
+ *   const QSize availableSize = windowHandle()->screen()->availableSize();
+ *   windowHandle()->resize(availableSize.width() * 0.7, availableSize.height() * 0.5); // default size
+ *   KWindowConfig::restoreWindowSize(windowHandle(), KSharedConfig::openConfig()->group("MyDialog"));
+ *   resize(windowHandle()->size()); // workaround for QTBUG-40584
+ * @endcode
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window to restore size.
+ * @param config The config group to read from.
+ * @since 5.0.
+ */
+KCONFIGGUI_EXPORT void restoreWindowSize(QWindow *window, const KConfigGroup &config);
+
+/**
+ * Saves the window's position either to the global or application config file.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to save.
+ * @param config The config group to read from.
+ * @param options passed to KConfigGroup::writeEntry()
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT void saveWindowPosition(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options = KConfigGroup::Normal);
+
+/**
+ * Returns whether a given KConfig group has any saved window position data.
+ *
+ * @note: always returns false on Wayland where saving and restoring window
+ * position data is not supported.
+ *
+ * @param config The config group to read from.
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT bool hasSavedWindowPosition(KConfigGroup &config);
+/**
+ * Restores the window's screen position from the configuration and calls restoreWindowScreenPosition.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to restore.
+ * @param config The config group to read from.
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT void restoreWindowPosition(QWindow *window, const KConfigGroup &config);
+
+/**
+ * Restores the window's position on provided screen from the configuration.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to restore.
+ * @param screen Screen on which window should be placed.
+ * @param config The config group to read from.
+ * @since 5.99
+ */
+KCONFIGGUI_EXPORT void restoreWindowScreenPosition(QWindow *window, const QScreen *screen, const KConfigGroup &config);
+}
+#endif // KWINDOWCONFIG_H
diff --git a/src/gui/kwindowstatesaver.cpp b/src/gui/kwindowstatesaver.cpp
new file mode 100644 (file)
index 0000000..82e4dd9
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+    SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kwindowstatesaver.h"
+#include "ksharedconfig.h"
+#include "kwindowconfig.h"
+
+#include <QWindow>
+
+class KWindowStateSaverPrivate
+{
+public:
+    QWindow *window = nullptr;
+    KConfigGroup configGroup;
+    std::function<QWindow *()> windowHandleCallback;
+    int timerId = 0;
+
+    void init(KWindowStateSaver *q);
+    void initWidget(QObject *widget, KWindowStateSaver *q);
+};
+
+void KWindowStateSaverPrivate::init(KWindowStateSaver *q)
+{
+    if (!window) {
+        return;
+    }
+
+    KWindowConfig::restoreWindowSize(window, configGroup);
+    KWindowConfig::restoreWindowPosition(window, configGroup);
+
+    const auto saveSize = [q, this]() {
+        KWindowConfig::saveWindowSize(window, configGroup);
+        if (!timerId) {
+            timerId = q->startTimer(std::chrono::seconds(30));
+        }
+    };
+    const auto savePosition = [q, this]() {
+        KWindowConfig::saveWindowPosition(window, configGroup);
+        if (!timerId) {
+            timerId = q->startTimer(std::chrono::seconds(30));
+        }
+    };
+
+    QObject::connect(window, &QWindow::widthChanged, q, saveSize);
+    QObject::connect(window, &QWindow::heightChanged, q, saveSize);
+    QObject::connect(window, &QWindow::xChanged, q, savePosition);
+    QObject::connect(window, &QWindow::yChanged, q, savePosition);
+}
+
+void KWindowStateSaverPrivate::initWidget(QObject *widget, KWindowStateSaver *q)
+{
+    if (!window && windowHandleCallback) {
+        window = windowHandleCallback();
+    }
+    if (window) {
+        init(q);
+    } else {
+        widget->installEventFilter(q);
+    }
+}
+
+KWindowStateSaver::KWindowStateSaver(QWindow *window, const KConfigGroup &configGroup)
+    : QObject(window)
+    , d(new KWindowStateSaverPrivate)
+{
+    Q_ASSERT(window);
+    d->window = window;
+    d->configGroup = configGroup;
+    d->init(this);
+}
+
+KWindowStateSaver::KWindowStateSaver(QWindow *window, const QString &configGroupName)
+    : QObject(window)
+    , d(new KWindowStateSaverPrivate)
+{
+    Q_ASSERT(window);
+    d->window = window;
+    d->configGroup = KConfigGroup(KSharedConfig::openStateConfig(), configGroupName);
+    d->init(this);
+}
+
+KWindowStateSaver::~KWindowStateSaver()
+{
+    delete d;
+}
+
+void KWindowStateSaver::timerEvent(QTimerEvent *event)
+{
+    killTimer(event->timerId());
+    d->configGroup.sync();
+    d->timerId = 0;
+}
+
+bool KWindowStateSaver::eventFilter(QObject *watched, QEvent *event)
+{
+    // QEvent::PlatformSurface would give us a valid window, but if there are
+    // intial resizings (explicitly or via layout constraints) those would then
+    // already overwrite our restored values. So wait until all that is done
+    // and only restore afterwards.
+    if (event->type() == QEvent::ShowToParent && !d->window) {
+        watched->removeEventFilter(this);
+        d->window = d->windowHandleCallback();
+        d->init(this);
+    }
+
+    return QObject::eventFilter(watched, event);
+}
+
+void KWindowStateSaver::initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const KConfigGroup &configGroup)
+{
+    d = new KWindowStateSaverPrivate;
+    d->windowHandleCallback = windowHandleCallback;
+    d->configGroup = configGroup;
+    d->initWidget(widget, this);
+}
+
+void KWindowStateSaver::initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const QString &configGroupName)
+{
+    d = new KWindowStateSaverPrivate;
+    d->windowHandleCallback = windowHandleCallback;
+    d->configGroup = KConfigGroup(KSharedConfig::openStateConfig(), configGroupName);
+    d->initWidget(widget, this);
+}
+
+#include "moc_kwindowstatesaver.cpp"
diff --git a/src/gui/kwindowstatesaver.h b/src/gui/kwindowstatesaver.h
new file mode 100644 (file)
index 0000000..7801ba3
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+    SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KWINDOWSTATESAVER_H
+#define KWINDOWSTATESAVER_H
+
+#include <kconfiggroup.h>
+#include <kconfiggui_export.h>
+
+#include <QObject>
+
+class QWindow;
+class KWindowStateSaverPrivate;
+
+/**
+ * Saves and restores a window size and (when possible) position.
+ *
+ * This is useful for retrofitting persisting window geometry on existing windows or dialogs,
+ * without having to modify those classes themselves, or having to inherit from them.
+ * For this, create a new instance of KWindowStateSaver for every window that should have it's
+ * state persisted, and pass it the window or widget as well as the config group the state
+ * should be stored in. The KWindowStateSaver will restore an existing state and then monitor
+ * the window for subsequent changes to persist. It will delete itself once the window is
+ * deleted.
+ *
+ * @code
+ * QPrintPreviewDialog dlg = ...
+ * new KWindowStateSaver(&dlg, "printPreviewDialogState");
+ * ...
+ * dlg.exec();
+ * @endcode
+ *
+ * Note that freshly created top-level QWidgets (such as the dialog in the above example)
+ * do not have an associated QWindow yet (ie. windowHandle() return @c nullptr). KWindowStateSaver
+ * supports this with its QWidget constructors which will monitor the widget for having
+ * its associated QWindow created before continuing with that.
+ *
+ * When implementing your own windows/dialogs, using KWindowConfig directly can be an
+ * alternative.
+ *
+ * @see KWindowConfig
+ * @since 5.92
+ */
+class KCONFIGGUI_EXPORT KWindowStateSaver : public QObject
+{
+    Q_OBJECT
+public:
+    /**
+     * Create a new window state saver for @p window.
+     * @param configGroup A KConfigGroup that holds the window state.
+     */
+    explicit KWindowStateSaver(QWindow *window, const KConfigGroup &configGroup);
+    /**
+     * Create a new window state saver for @p window.
+     * @param configGroupName The name of a KConfigGroup in the default state
+     * configuration (see KSharedConfig::openStateConfig) that holds the window state.
+     */
+    explicit KWindowStateSaver(QWindow *window, const QString &configGroupName);
+
+    /**
+     * Create a new window state saver for @p widget.
+     * Use this for widgets that aren't shown yet and would still return @c nullptr from windowHandle().
+     * @param configGroup A KConfigGroup that holds the window state.
+     */
+    template<typename Widget>
+    explicit inline KWindowStateSaver(Widget *widget, const KConfigGroup &configGroup);
+    /**
+     * Create a new window state saver for @p widget.
+     * Use this for widgets that aren't shown yet and would still return @c nullptr from windowHandle().
+     * @param configGroupName The name of a KConfigGroup in the default state
+     * configuration (see KSharedConfig::openStateConfig) that holds the window state.
+     */
+    template<typename Widget>
+    explicit inline KWindowStateSaver(Widget *widget, const QString &configGroupName);
+
+    ~KWindowStateSaver();
+
+private:
+    void timerEvent(QTimerEvent *event) override;
+    bool eventFilter(QObject *watched, QEvent *event) override;
+
+    // API used by template code, so technically part of the ABI
+    void initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const KConfigGroup &configGroup);
+    void initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const QString &configGroupName);
+
+    // cannot use std::unique_ptr due to the template ctors
+    // not seeing the full private class
+    KWindowStateSaverPrivate *d = nullptr;
+};
+
+template<typename Widget>
+KWindowStateSaver::KWindowStateSaver(Widget *widget, const KConfigGroup &configGroup)
+    : QObject(widget)
+{
+    initWidget(
+        widget,
+        [widget]() {
+            return widget->windowHandle();
+        },
+        configGroup);
+}
+
+template<typename Widget>
+KWindowStateSaver::KWindowStateSaver(Widget *widget, const QString &configGroupName)
+    : QObject(widget)
+{
+    initWidget(
+        widget,
+        [widget]() {
+            return widget->windowHandle();
+        },
+        configGroupName);
+}
+
+#endif // KWINDOWSTATESAVER_H
diff --git a/src/kconf_update/CMakeLists.txt b/src/kconf_update/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cf0a933
--- /dev/null
@@ -0,0 +1,20 @@
+add_executable(kconf_update kconf_update.cpp)
+add_executable(KF6::kconf_update ALIAS kconf_update)
+
+target_compile_definitions(kconf_update PRIVATE -DCMAKE_INSTALL_FULL_LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+ecm_qt_declare_logging_category(kconf_update
+    HEADER kconf_update_debug.h
+    IDENTIFIER KCONF_UPDATE_LOG
+    CATEGORY_NAME kf.config.kconf_update
+    OLD_CATEGORY_NAMES kf5.kconfig.update
+    DESCRIPTION "kconf_update"
+    EXPORT KCONFIG
+)
+
+target_link_libraries(kconf_update Qt6::Core KF6::ConfigCore)
+include(ECMMarkNonGuiExecutable)
+ecm_mark_nongui_executable(kconf_update)
+
+# Although this is mostly an internal binary (hence installing it in
+# KF6_LIBEXEC_INSTALL_DIR), it is used by kded, and so we export its location
+install(TARGETS kconf_update EXPORT KF6ConfigCompilerTargets DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF})
diff --git a/src/kconf_update/Mainpage.dox b/src/kconf_update/Mainpage.dox
new file mode 100644 (file)
index 0000000..13bc342
--- /dev/null
@@ -0,0 +1,31 @@
+/** @mainpage ./kconf_update
+
+kconf_update is a tool designed to update config files. Over time applications
+sometimes need to rearrange the way configuration options are stored. Since
+such an update shouldn't influence the configuration options that the user
+has selected, the application must take care that the options stored in the
+old way will still be honored.
+
+What used to happen is that the application looks up both the old and the
+new configuration option and then decides which one to use. This method has 
+several drawbacks:
+- The application may need to read more configuration files than strictly
+  needed, resulting in a slower startup.
+- The application becomes bigger with code that will only be used once.
+
+kconf_update addresses these problems by offering a framework to update 
+configuration files without adding code to the application itself.
+
+See the <a href="https://commits.kde.org/kconfig?path=src/kconf_update/README.kconf_update">README file</a> for more information.
+
+@authors
+Waldo Bastian \<bastian@kde.org\>
+
+@maintainers
+[Unknown/None]
+
+@licenses
+@lgpl
+
+*/
+// vim:ts=4:sw=4:expandtab:filetype=doxygen
diff --git a/src/kconf_update/README.kconf_update b/src/kconf_update/README.kconf_update
new file mode 100644 (file)
index 0000000..1a97c9e
--- /dev/null
@@ -0,0 +1 @@
+https://techbase.kde.org/Development/Tools/Using_kconf_update
diff --git a/src/kconf_update/kconf_update.cpp b/src/kconf_update/kconf_update.cpp
new file mode 100644 (file)
index 0000000..348e1c9
--- /dev/null
@@ -0,0 +1,387 @@
+/*
+    This file is part of the KDE libraries
+    SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#include "kconfig_version.h"
+#include <cstdlib>
+
+#include <QCoreApplication>
+#include <QDate>
+#include <QDebug>
+#include <QDir>
+#include <QFile>
+#include <QProcess>
+#include <QTemporaryFile>
+#include <QTextStream>
+#include <QUrl>
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QStandardPaths>
+
+#include "kconf_update_debug.h"
+
+// Convenience wrapper around qCDebug to prefix the output with metadata of
+// the file.
+#define qCDebugFile(CATEGORY) qCDebug(CATEGORY) << m_currentFilename << ':' << m_lineCount << ":'" << m_line << "': "
+
+class KonfUpdate
+{
+public:
+    KonfUpdate(QCommandLineParser *parser);
+    ~KonfUpdate();
+
+    KonfUpdate(const KonfUpdate &) = delete;
+    KonfUpdate &operator=(const KonfUpdate &) = delete;
+
+    QStringList findUpdateFiles(bool dirtyOnly);
+
+    bool updateFile(const QString &filename);
+
+    void gotId(const QString &_id);
+    void gotScript(const QString &_script);
+
+protected:
+    /** kconf_updaterc */
+    KConfig *m_config;
+    QString m_currentFilename;
+    bool m_skip = false;
+    bool m_bTestMode;
+    bool m_bDebugOutput;
+    QString m_id;
+
+    bool m_bUseConfigInfo = false;
+    QStringList m_arguments;
+    QTextStream *m_textStream;
+    QFile *m_file;
+    QString m_line;
+    int m_lineCount;
+};
+
+KonfUpdate::KonfUpdate(QCommandLineParser *parser)
+    : m_textStream(nullptr)
+    , m_file(nullptr)
+    , m_lineCount(-1)
+{
+    bool updateAll = false;
+
+    m_config = new KConfig(QStringLiteral("kconf_updaterc"));
+    KConfigGroup cg(m_config, QString());
+
+    QStringList updateFiles;
+
+    m_bDebugOutput = parser->isSet(QStringLiteral("debug"));
+    if (m_bDebugOutput) {
+        // The only way to enable debug reliably is through a filter rule.
+        // The category itself is const, so we can't just go around changing
+        // its mode. This can however be overridden by the environment, so
+        // we'll want to have a fallback warning if debug is not enabled
+        // after setting the filter.
+        QLoggingCategory::setFilterRules(QLatin1String("%1.debug=true").arg(QLatin1String{KCONF_UPDATE_LOG().categoryName()}));
+        qDebug() << "Automatically enabled the debug logging category" << KCONF_UPDATE_LOG().categoryName();
+        if (!KCONF_UPDATE_LOG().isDebugEnabled()) {
+            qWarning("The debug logging category %s needs to be enabled manually to get debug output", KCONF_UPDATE_LOG().categoryName());
+        }
+    }
+
+    m_bTestMode = parser->isSet(QStringLiteral("testmode"));
+    if (m_bTestMode) {
+        QStandardPaths::setTestModeEnabled(true);
+    }
+
+    if (parser->isSet(QStringLiteral("check"))) {
+        m_bUseConfigInfo = true;
+        const QString file =
+            QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String{"kconf_update/"} + parser->value(QStringLiteral("check")));
+        if (file.isEmpty()) {
+            qWarning("File '%s' not found.", parser->value(QStringLiteral("check")).toLocal8Bit().data());
+            qCDebug(KCONF_UPDATE_LOG) << "File" << parser->value(QStringLiteral("check")) << "passed on command line not found";
+            return;
+        }
+        updateFiles.append(file);
+    } else if (!parser->positionalArguments().isEmpty()) {
+        updateFiles += parser->positionalArguments();
+    } else if (m_bTestMode) {
+        qWarning("Test mode enabled, but no files given.");
+        return;
+    } else {
+        if (cg.readEntry("autoUpdateDisabled", false)) {
+            return;
+        }
+        updateFiles = findUpdateFiles(true);
+        updateAll = true;
+    }
+
+    for (const QString &file : std::as_const(updateFiles)) {
+        updateFile(file);
+    }
+
+    if (updateAll && !cg.readEntry("updateInfoAdded", false)) {
+        cg.writeEntry("updateInfoAdded", true);
+        updateFiles = findUpdateFiles(false);
+    }
+}
+
+KonfUpdate::~KonfUpdate()
+{
+    delete m_config;
+    delete m_file;
+    delete m_textStream;
+}
+
+QStringList KonfUpdate::findUpdateFiles(bool dirtyOnly)
+{
+    QStringList result;
+
+    const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kconf_update"), QStandardPaths::LocateDirectory);
+    for (const QString &d : dirs) {
+        const QDir dir(d);
+
+        const QStringList fileNames = dir.entryList(QStringList(QStringLiteral("*.upd")));
+        for (const QString &fileName : fileNames) {
+            const QString file = dir.filePath(fileName);
+            QFileInfo info(file);
+
+            KConfigGroup cg(m_config, fileName);
+            const qint64 ctime = cg.readEntry("ctime", 0);
+            const qint64 mtime = cg.readEntry("mtime", 0);
+            const QString done = cg.readEntry("done", QString());
+            if (!dirtyOnly //
+                || (ctime != 0 && ctime != info.birthTime().toSecsSinceEpoch()) //
+                || mtime != info.lastModified().toSecsSinceEpoch() //
+                || (mtime != 0 && done.isEmpty())) {
+                result.append(file);
+            }
+        }
+    }
+    return result;
+}
+
+/**
+ * Syntax:
+ * # Comment
+ * Id=id
+ * ScriptArguments=arguments
+ * Script=scriptfile[,interpreter]
+ **/
+bool KonfUpdate::updateFile(const QString &filename)
+{
+    m_currentFilename = filename;
+    const int i = m_currentFilename.lastIndexOf(QLatin1Char{'/'});
+    if (i != -1) {
+        m_currentFilename = m_currentFilename.mid(i + 1);
+    }
+    QFile file(filename);
+    if (!file.open(QIODevice::ReadOnly)) {
+        qWarning("Could not open update-file '%s'.", qUtf8Printable(filename));
+        return false;
+    }
+
+    qCDebug(KCONF_UPDATE_LOG) << "Checking update-file" << filename << "for new updates";
+
+    QTextStream ts(&file);
+    ts.setEncoding(QStringConverter::Encoding::Latin1);
+    m_lineCount = 0;
+    bool foundVersion = false;
+    while (!ts.atEnd()) {
+        m_line = ts.readLine().trimmed();
+        const QLatin1String versionPrefix("Version=");
+        if (m_line.startsWith(versionPrefix)) {
+            if (m_line.mid(versionPrefix.length()) == QLatin1Char('6')) {
+                foundVersion = true;
+                continue;
+            } else {
+                qWarning(KCONF_UPDATE_LOG).noquote() << filename << "defined" << m_line << "but Version=6 was expected";
+                return false;
+            }
+        }
+        ++m_lineCount;
+        if (m_line.isEmpty() || (m_line[0] == QLatin1Char('#'))) {
+            continue;
+        }
+        if (m_line.startsWith(QLatin1String("Id="))) {
+            if (!foundVersion) {
+                qCDebug(KCONF_UPDATE_LOG, "Missing 'Version=6', file '%s' will be skipped.", qUtf8Printable(filename));
+                break;
+            }
+            gotId(m_line.mid(3));
+        } else if (m_skip) {
+            continue;
+        } else if (m_line.startsWith(QLatin1String("Script="))) {
+            gotScript(m_line.mid(7));
+            m_arguments.clear();
+        } else if (m_line.startsWith(QLatin1String("ScriptArguments="))) {
+            const QString argLine = m_line.mid(16);
+            m_arguments = QProcess::splitCommand(argLine);
+        } else {
+            qCDebugFile(KCONF_UPDATE_LOG) << "Parse error";
+        }
+    }
+    // Flush.
+    gotId(QString());
+
+    // Remember that this file was updated:
+    if (!m_bTestMode) {
+        QFileInfo info(filename);
+        KConfigGroup cg(m_config, m_currentFilename);
+        if (info.birthTime().isValid()) {
+            cg.writeEntry("ctime", info.birthTime().toSecsSinceEpoch());
+        }
+        cg.writeEntry("mtime", info.lastModified().toSecsSinceEpoch());
+        cg.sync();
+    }
+
+    return true;
+}
+
+void KonfUpdate::gotId(const QString &_id)
+{
+    // Remember that the last update group has been done:
+    if (!m_id.isEmpty() && !m_skip && !m_bTestMode) {
+        KConfigGroup cg(m_config, m_currentFilename);
+
+        QStringList ids = cg.readEntry("done", QStringList());
+        if (!ids.contains(m_id)) {
+            ids.append(m_id);
+            cg.writeEntry("done", ids);
+            cg.sync();
+        }
+    }
+
+    if (_id.isEmpty()) {
+        return;
+    }
+
+    // Check whether this update group needs to be done:
+    KConfigGroup cg(m_config, m_currentFilename);
+    QStringList ids = cg.readEntry("done", QStringList());
+    if (ids.contains(_id) && !m_bUseConfigInfo) {
+        // qDebug("Id '%s' was already in done-list", _id.toLatin1().constData());
+        m_skip = true;
+        return;
+    }
+    m_skip = false;
+    m_id = _id;
+    if (m_bUseConfigInfo) {
+        qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Checking update" << _id;
+    } else {
+        qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Found new update" << _id;
+    }
+}
+
+void KonfUpdate::gotScript(const QString &_script)
+{
+    QString script;
+    QString interpreter;
+    const int i = _script.indexOf(QLatin1Char{','});
+    if (i == -1) {
+        script = _script.trimmed();
+    } else {
+        script = _script.left(i).trimmed();
+        interpreter = _script.mid(i + 1).trimmed();
+    }
+
+    if (script.isEmpty()) {
+        qCDebugFile(KCONF_UPDATE_LOG) << "Script fails to specify filename";
+        m_skip = true;
+        return;
+    }
+
+    QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("kconf_update/") + script);
+    if (path.isEmpty()) {
+        if (interpreter.isEmpty()) {
+            path = QStringLiteral("%1/kconf_update_bin/%2").arg(QStringLiteral(CMAKE_INSTALL_FULL_LIBDIR), script);
+            if (!QFile::exists(path)) {
+                path = QStandardPaths::findExecutable(script);
+            }
+        }
+
+        if (path.isEmpty()) {
+            qCDebugFile(KCONF_UPDATE_LOG) << "Script" << script << "not found";
+            m_skip = true;
+            return;
+        }
+    }
+
+    if (!m_arguments.isEmpty()) {
+        qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Running script" << script << "with arguments" << m_arguments;
+    } else {
+        qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Running script" << script;
+    }
+
+    QStringList args;
+    QString cmd;
+    if (interpreter.isEmpty()) {
+        cmd = path;
+    } else {
+        QString interpreterPath = QStandardPaths::findExecutable(interpreter);
+        if (interpreterPath.isEmpty()) {
+            qCDebugFile(KCONF_UPDATE_LOG) << "Cannot find interpreter" << interpreter;
+            m_skip = true;
+            return;
+        }
+        cmd = interpreterPath;
+        args << path;
+    }
+
+    args += m_arguments;
+
+    int result;
+    qCDebug(KCONF_UPDATE_LOG) << "About to run" << cmd;
+    if (m_bDebugOutput) {
+        QFile scriptFile(path);
+        if (scriptFile.open(QIODevice::ReadOnly)) {
+            qCDebug(KCONF_UPDATE_LOG) << "Script contents is:\n" << scriptFile.readAll();
+        }
+    }
+    QProcess proc;
+    proc.start(cmd, args);
+    if (!proc.waitForFinished(60000)) {
+        qCDebugFile(KCONF_UPDATE_LOG) << "update script did not terminate within 60 seconds:" << cmd;
+        m_skip = true;
+        return;
+    }
+    result = proc.exitCode();
+    proc.close();
+
+    if (result != EXIT_SUCCESS) {
+        qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": !! An error occurred while running" << cmd;
+        return;
+    }
+
+    qCDebug(KCONF_UPDATE_LOG) << "Successfully ran" << cmd;
+}
+
+int main(int argc, char **argv)
+{
+    QCoreApplication app(argc, argv);
+    app.setApplicationVersion(QStringLiteral(KCONFIG_VERSION_STRING));
+
+    QCommandLineParser parser;
+    parser.addVersionOption();
+    parser.setApplicationDescription(QCoreApplication::translate("main", "KDE Tool for updating user configuration files"));
+    parser.addHelpOption();
+    parser.addOption(QCommandLineOption(QStringList{QStringLiteral("debug")}, QCoreApplication::translate("main", "Keep output results from scripts")));
+    parser.addOption(QCommandLineOption(
+        QStringList{QStringLiteral("testmode")},
+        QCoreApplication::translate("main", "For unit tests only: do not write the done entries, so that with every re-run, the scripts are executed again")));
+    parser.addOption(QCommandLineOption(QStringList{QStringLiteral("check")},
+                                        QCoreApplication::translate("main", "Check whether config file itself requires updating"),
+                                        QStringLiteral("update-file")));
+    parser.addPositionalArgument(QStringLiteral("files"),
+                                 QCoreApplication::translate("main", "File(s) to read update instructions from"),
+                                 QStringLiteral("[files...]"));
+
+    // TODO aboutData.addAuthor(ki18n("Waldo Bastian"), KLocalizedString(), "bastian@kde.org");
+
+    parser.process(app);
+    KonfUpdate konfUpdate(&parser);
+
+    return 0;
+}
diff --git a/src/kconfig_compiler/CMakeLists.txt b/src/kconfig_compiler/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e9cadf7
--- /dev/null
@@ -0,0 +1,28 @@
+add_executable(kconfig_compiler)
+
+if(CMAKE_CROSSCOMPILING)
+    if(BUILD_TESTING)
+        message(WARNING "Testing should be disabled on cross-compilation")
+    endif()
+else()
+    add_executable(KF6::kconfig_compiler ALIAS kconfig_compiler)
+endif()
+
+target_sources(kconfig_compiler PRIVATE
+    KConfigParameters.cpp
+    KConfigCodeGeneratorBase.cpp
+    KConfigHeaderGenerator.cpp
+    KConfigSourceGenerator.cpp
+    KConfigXmlParser.cpp
+    kconfig_compiler.cpp
+)
+
+set_target_properties(kconfig_compiler PROPERTIES
+    OUTPUT_NAME "kconfig_compiler_kf6"
+)
+
+target_link_libraries(kconfig_compiler Qt6::Xml)
+
+ecm_mark_nongui_executable(kconfig_compiler)
+
+install(TARGETS kconfig_compiler EXPORT KF6ConfigCompilerTargets DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF})
diff --git a/src/kconfig_compiler/KConfigCodeGeneratorBase.cpp b/src/kconfig_compiler/KConfigCodeGeneratorBase.cpp
new file mode 100644 (file)
index 0000000..5294b28
--- /dev/null
@@ -0,0 +1,265 @@
+/*
+    This file is part of the KDE libraries.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigCodeGeneratorBase.h"
+
+#include <QFileInfo>
+#include <QLatin1Char>
+
+#include <QDebug>
+#include <ostream>
+
+#include <iostream>
+
+KConfigCodeGeneratorBase::KConfigCodeGeneratorBase(const QString &inputFile,
+                                                   const QString &baseDir,
+                                                   const QString &fileName,
+                                                   const KConfigParameters &parameters,
+                                                   ParseResult &parseResult)
+    : parseResult(parseResult)
+    , m_inputFile(inputFile)
+    , m_baseDir(baseDir)
+    , m_fileName(fileName)
+    , m_cfg(parameters)
+{
+    m_file.setFileName(m_fileName);
+    if (!m_file.open(QIODevice::WriteOnly)) {
+        std::cerr << "Can not open '" << qPrintable(m_fileName) << "for writing." << std::endl;
+        exit(1);
+    }
+    m_stream.setDevice(&m_file);
+
+    if (m_cfg.staticAccessors) {
+        m_this = QStringLiteral("self()->");
+    } else {
+        m_const = QStringLiteral(" const");
+    }
+}
+
+KConfigCodeGeneratorBase::~KConfigCodeGeneratorBase()
+{
+    save();
+}
+
+void KConfigCodeGeneratorBase::save()
+{
+    m_file.close();
+}
+
+// TODO: Remove this weird logic and adapt the testcases
+void KConfigCodeGeneratorBase::indent()
+{
+    if (m_indentLevel >= 4) {
+        m_indentLevel += 2;
+    } else {
+        m_indentLevel += 4;
+    }
+}
+
+void KConfigCodeGeneratorBase::unindent()
+{
+    if (m_indentLevel > 4) {
+        m_indentLevel -= 2;
+    } else {
+        m_indentLevel -= 4;
+    }
+}
+
+QString KConfigCodeGeneratorBase::whitespace() const
+{
+    QString spaces;
+    for (int i = 0; i < m_indentLevel; i++) {
+        spaces.append(QLatin1Char(' '));
+    }
+    return spaces;
+}
+
+void KConfigCodeGeneratorBase::startScope()
+{
+    m_stream << whitespace() << QLatin1Char('{');
+    m_stream << '\n';
+    indent();
+}
+
+void KConfigCodeGeneratorBase::endScope(ScopeFinalizer finalizer)
+{
+    unindent();
+    m_stream << whitespace() << QLatin1Char('}');
+    if (finalizer == ScopeFinalizer::Semicolon) {
+        m_stream << ';';
+    }
+    m_stream << '\n';
+}
+
+void KConfigCodeGeneratorBase::start()
+{
+    const QString m_fileName = QFileInfo(m_inputFile).fileName();
+    m_stream << "// This file is generated by kconfig_compiler_kf6 from " << m_fileName << ".kcfg"
+             << ".\n";
+    m_stream << "// All changes you do to this file will be lost.\n";
+}
+
+void KConfigCodeGeneratorBase::addHeaders(const QStringList &headerList)
+{
+    for (const auto &include : headerList) {
+        if (include.startsWith(QLatin1Char('"'))) {
+            m_stream << "#include " << include << '\n';
+        } else {
+            m_stream << "#include <" << include << ">\n";
+        }
+    }
+}
+
+// adds as many 'namespace foo {' lines to p_out as
+// there are namespaces in p_ns
+void KConfigCodeGeneratorBase::beginNamespaces()
+{
+    if (!m_cfg.nameSpace.isEmpty()) {
+        const auto nameSpaceList = m_cfg.nameSpace.split(QStringLiteral("::"));
+        for (const QString &ns : nameSpaceList) {
+            m_stream << "namespace " << ns << " {\n";
+        }
+        m_stream << '\n';
+    }
+}
+
+// adds as many '}' lines to p_out as
+// there are namespaces in p_ns
+void KConfigCodeGeneratorBase::endNamespaces()
+{
+    if (!m_cfg.nameSpace.isEmpty()) {
+        m_stream << '\n';
+        const int namespaceCount = m_cfg.nameSpace.count(QStringLiteral("::")) + 1;
+        for (int i = 0; i < namespaceCount; ++i) {
+            m_stream << "}\n";
+        }
+    }
+}
+
+// returns the member accessor implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString KConfigCodeGeneratorBase::memberAccessorBody(const CfgEntry *e, bool globalEnums) const
+{
+    QString result;
+    QTextStream out(&result, QIODevice::WriteOnly);
+    QString n = e->name;
+    QString t = e->type;
+    bool useEnumType = m_cfg.useEnumTypes && t == QLatin1String("Enum");
+
+    out << "return ";
+    if (useEnumType) {
+        out << "static_cast<" << enumType(e, globalEnums) << ">(";
+    }
+    out << m_this << varPath(n, m_cfg);
+    if (!e->param.isEmpty()) {
+        out << "[i]";
+    }
+    if (useEnumType) {
+        out << ")";
+    }
+    out << ";\n";
+
+    return result;
+}
+
+void KConfigCodeGeneratorBase::memberImmutableBody(const CfgEntry *e, bool globalEnums)
+{
+    stream() << whitespace() << "return " << m_this << "isImmutable( QStringLiteral( \"";
+    if (!e->param.isEmpty()) {
+        stream() << QString(e->paramName).replace(QLatin1String("$(%1)").arg(e->param), QLatin1String("%1")) << "\" ).arg( ";
+        if (e->paramType == QLatin1String("Enum")) {
+            stream() << "QLatin1String( ";
+
+            if (globalEnums) {
+                stream() << enumName(e->param) << "ToString[i]";
+            } else {
+                stream() << enumName(e->param) << "::enumToString[i]";
+            }
+
+            stream() << " )";
+        } else {
+            stream() << "i";
+        }
+        stream() << " )";
+    } else {
+        stream() << e->name << "\" )";
+    }
+    stream() << " );\n";
+}
+
+void KConfigCodeGeneratorBase::createIfSetLogic(const CfgEntry *e, const QString &varExpression)
+{
+    const bool hasBody = !e->signalList.empty() || m_cfg.generateProperties;
+
+    m_stream << whitespace() << "if (";
+    if (hasBody) {
+        m_stream << "v != " << varExpression << " && ";
+    }
+
+    const auto immutablefunction = immutableFunction(e->name, m_cfg.dpointer ? m_cfg.className : QString{});
+    m_stream << "!" << m_this << immutablefunction << "(";
+    if (!e->param.isEmpty()) {
+        m_stream << " i ";
+    }
+    m_stream << "))";
+}
+
+void KConfigCodeGeneratorBase::memberMutatorBody(const CfgEntry *e)
+{
+    // HACK: Don't open '{' manually, use startScope / endScope to automatically handle whitespace indentation.
+    if (!e->min.isEmpty()) {
+        if (e->min != QLatin1String("0") || !isUnsigned(e->type)) { // skip writing "if uint<0" (#187579)
+            m_stream << whitespace() << "if (v < " << e->min << ")\n";
+            m_stream << whitespace() << "{\n";
+            m_stream << whitespace();
+            addDebugMethod(m_stream, m_cfg, e->name);
+            m_stream << ": value \" << v << \" is less than the minimum value of " << e->min << "\";\n";
+            m_stream << whitespace() << "  v = " << e->min << ";\n";
+            m_stream << whitespace() << "}\n";
+        }
+    }
+
+    if (!e->max.isEmpty()) {
+        m_stream << '\n';
+        m_stream << whitespace() << "if (v > " << e->max << ")\n";
+        m_stream << whitespace() << "{\n";
+        m_stream << whitespace();
+        addDebugMethod(m_stream, m_cfg, e->name);
+        m_stream << ": value \" << v << \" is greater than the maximum value of " << e->max << "\";\n";
+        m_stream << whitespace() << "  v = " << e->max << ";\n";
+        m_stream << whitespace() << "}\n\n";
+    }
+
+    const QString varExpression = m_this + varPath(e->name, m_cfg) + (e->param.isEmpty() ? QString{} : QStringLiteral("[i]"));
+
+    // TODO: Remove this `hasBody` logic, always use an '{' for the if.
+    const bool hasBody = !e->signalList.empty() || m_cfg.generateProperties;
+
+    // m_this call creates an `if (someTest ...) that's just to long to throw over the code.
+    createIfSetLogic(e, varExpression);
+    m_stream << (hasBody ? " {" : "") << '\n';
+    m_stream << whitespace() << "  " << varExpression << " = v;\n";
+
+    const auto listSignal = e->signalList;
+    for (const Signal &signal : std::as_const(listSignal)) {
+        if (signal.modify) {
+            m_stream << whitespace() << "  Q_EMIT " << m_this << signal.name << "();\n";
+        } else {
+            m_stream << whitespace() << "  " << m_this << varPath(QStringLiteral("settingsChanged"), m_cfg) << ".insert(" << signalEnumName(signal.name) << ");\n";
+        }
+    }
+    if (hasBody) {
+        m_stream << whitespace() << "}\n";
+    }
+}
diff --git a/src/kconfig_compiler/KConfigCodeGeneratorBase.h b/src/kconfig_compiler/KConfigCodeGeneratorBase.h
new file mode 100644 (file)
index 0000000..69710be
--- /dev/null
@@ -0,0 +1,147 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCODEGENERATORBASE_H
+#define KCONFIGCODEGENERATORBASE_H
+
+#include <QFile>
+#include <QList>
+#include <QString>
+#include <QTextStream>
+
+#include "KConfigCommonStructs.h"
+#include "KConfigParameters.h"
+
+class CfgEntry;
+struct ParseResult;
+
+/* This class manages the base of writing a C - Based code */
+class KConfigCodeGeneratorBase
+{
+public:
+    enum ScopeFinalizer {
+        None,
+        Semicolon,
+    };
+
+    KConfigCodeGeneratorBase(const QString &inputFileName, // The kcfg file
+                             const QString &baseDir, // where we should store the generated file
+                             const QString &fileName, // the name of the generated file
+                             const KConfigParameters &parameters, // parameters passed to the generator
+                             ParseResult &parseResult // The pre processed configuration entries
+    );
+    virtual ~KConfigCodeGeneratorBase();
+
+    // iterates over the header list adding an #include directive.
+    void addHeaders(const QStringList &header);
+
+    // Create all the namespace indentation levels based on the parsed result and parameters */
+    void beginNamespaces();
+
+    // Closes all the namespaces adding lines with single '}'
+    void endNamespaces();
+
+    // Add the correct amount of whitespace in the code.
+    QString whitespace() const;
+
+    // start a block scope `{` and increase indentation level.
+    void endScope(ScopeFinalizer finalizer = None);
+
+    // end a block scope `}` and decrease indentation level.
+    void startScope();
+
+    // start writing to the output file
+    virtual void start();
+
+    // save the result on the disk
+    void save();
+
+    // Code Implementations
+    // Implements the `Get` methods for the CfgEntry
+    // TODO: write to the stream directly without returning a QString.
+    QString memberAccessorBody(const CfgEntry *e, bool globalEnums) const;
+
+    // Implements the is<Param>Immutable for the CfgEntry
+    void memberImmutableBody(const CfgEntry *e, bool globalEnums);
+
+    // Implements the `Set` methods for the CfgEntry
+    void memberMutatorBody(const CfgEntry *e);
+
+    // This is the code that creates the logic for the Setter / Mutator.
+    // It *just* creates the if test, no body. The reason is that just
+    // the if test was more than 20 lines of code and hard to understand
+    // what was happening in a bigger function.
+    void createIfSetLogic(const CfgEntry *e, const QString &varExpression);
+
+protected:
+    /* advance the number of spaces for the indentation level */
+    void indent();
+
+    /* reduce the number of spaces for the indentation level */
+    void unindent();
+
+    QString inputFile() const
+    {
+        return m_inputFile;
+    }
+    QString fileName() const
+    {
+        return m_fileName;
+    }
+    QString baseDir() const
+    {
+        return m_baseDir;
+    }
+    QString This() const
+    {
+        return m_this;
+    }
+    QString Const() const
+    {
+        return m_const;
+    }
+    KConfigParameters cfg() const
+    {
+        return m_cfg;
+    }
+
+    // Can't be const.
+    QTextStream &stream()
+    {
+        return m_stream;
+    }
+
+    // HACK: This needs to be accessible because the HeaderGenerator actually modifies
+    // it while running. Considering that this is a the result of the xml Parse, and not
+    // the result of generating code, I consider this to be quite wrong - but moving the
+    // changes away from the header generator only created more problems and I have to
+    // investigate more.
+    ParseResult &parseResult; // the result of the parsed kcfg file
+
+private:
+    QString m_inputFile; // the base file name, input file is based on this.
+
+    QString m_baseDir; // Where we are going to save the file
+    QString m_fileName; // The file name
+
+    KConfigParameters m_cfg; // The parameters passed via the kcfgc file
+    QTextStream m_stream; // the stream that operates in the file to write data.
+    QFile m_file; // The file handler.
+
+    // Special access to `this->` and `const` thru the code.
+    QString m_this;
+    QString m_const;
+    int m_indentLevel = 0;
+};
+
+#endif
diff --git a/src/kconfig_compiler/KConfigCommonStructs.h b/src/kconfig_compiler/KConfigCommonStructs.h
new file mode 100644 (file)
index 0000000..a870626
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+    This file is part of the KDE libraries.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCOMMONSTRUCTS_H
+#define KCONFIGCOMMONSTRUCTS_H
+
+#include <QList>
+#include <QString>
+
+#include "KConfigParameters.h"
+
+struct Param {
+    QString name;
+    QString type;
+};
+
+struct Signal {
+    QString name;
+    QString label;
+    QList<Param> arguments;
+    bool modify = false;
+};
+
+class CfgEntry
+{
+public:
+    struct Choice {
+        QString name;
+        QString context;
+        QString label;
+        QString toolTip;
+        QString whatsThis;
+        QString val;
+
+        QString value() const
+        {
+            return !val.isEmpty() ? val : name;
+        }
+    };
+    class Choices
+    {
+    public:
+        Choices()
+        {
+        }
+        Choices(const QList<Choice> &d, const QString &n, const QString &p)
+            : prefix(p)
+            , choices(d)
+            , mName(n)
+        {
+            int i = n.indexOf(QLatin1String("::"));
+            if (i >= 0) {
+                mExternalQual = n.left(i + 2);
+            }
+        }
+        QString prefix;
+        QList<Choice> choices;
+        const QString &name() const
+        {
+            return mName;
+        }
+        const QString &externalQualifier() const
+        {
+            return mExternalQual;
+        }
+        bool external() const
+        {
+            return !mExternalQual.isEmpty();
+        }
+
+    private:
+        QString mName;
+        QString mExternalQual;
+    };
+
+public:
+    QString group;
+    QString parentGroup;
+    QString type;
+    QString key;
+    QString name;
+    QString labelContext;
+    QString label;
+    QString toolTipContext;
+    QString toolTip;
+    QString whatsThisContext;
+    QString whatsThis;
+    QString code;
+    QString defaultValue;
+    QString param;
+    QString paramName;
+    QString paramType;
+    Choices choices;
+    QList<Signal> signalList;
+    QStringList paramValues;
+    QStringList paramDefaultValues;
+    int paramMax;
+    bool hidden;
+    QString min;
+    QString max;
+};
+
+struct ParseResult {
+    QString cfgFileName;
+    bool cfgFileNameArg = false;
+    bool cfgStateConfig = false;
+    QList<Param> parameters;
+    QList<Signal> signalList;
+    QStringList includes;
+    QList<CfgEntry *> entries;
+    bool hasNonModifySignals = false;
+};
+
+// TODO: Move those methods
+QString enumName(const QString &n);
+QString enumName(const QString &n, const CfgEntry::Choices &c);
+QString param(const QString &t);
+QString cppType(const QString &t);
+QString itemType(const QString &type);
+QString changeSignalName(const QString &n);
+
+QString enumType(const CfgEntry *e, bool globalEnums);
+
+QString getDefaultFunction(const QString &n, const QString &className = QString());
+QString setFunction(const QString &n, const QString &className = QString());
+QString getFunction(const QString &n, const QString &className = QString());
+QString immutableFunction(const QString &n, const QString &className = QString());
+
+QString itemAccessorBody(const CfgEntry *e, const KConfigParameters &cfg);
+QString signalEnumName(const QString &signalName);
+
+bool isUnsigned(const QString &type);
+
+// returns the name of an member variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString varName(const QString &n, const KConfigParameters &cfg);
+
+QString varPath(const QString &n, const KConfigParameters &cfg);
+
+// returns the name of an item variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString itemVar(const CfgEntry *e, const KConfigParameters &cfg);
+
+// returns the name of the local inner item if there is one
+// (before wrapping with KConfigCompilerSignallingItem)
+// Otherwise return itemVar()
+QString innerItemVar(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString itemPath(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString filenameOnly(const QString &path);
+
+QString itemDeclaration(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString translatedString(const KConfigParameters &cfg,
+                         const QString &string,
+                         const QString &context = QString(),
+                         const QString &param = QString(),
+                         const QString &paramValue = QString());
+
+// TODO: Sanitize those functions.
+QString newItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString &param = QString());
+
+QString newInnerItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString &param = QString());
+
+QString userTextsFunctions(const CfgEntry *e, const KConfigParameters &cfg, QString itemVarStr = QString(), const QString &i = QString());
+
+QString paramString(const QString &s, const CfgEntry *e, int i);
+QString paramString(const QString &group, const QList<Param> &parameters);
+
+QString defaultValue(const QString &t);
+QString memberGetDefaultBody(const CfgEntry *e);
+QString literalString(const QString &s);
+QString enumTypeQualifier(const QString &n, const CfgEntry::Choices &c);
+
+void addQuotes(QString &s);
+void addDebugMethod(QTextStream &out, const KConfigParameters &cfg, const QString &n);
+
+#endif
diff --git a/src/kconfig_compiler/KConfigHeaderGenerator.cpp b/src/kconfig_compiler/KConfigHeaderGenerator.cpp
new file mode 100644 (file)
index 0000000..15a7754
--- /dev/null
@@ -0,0 +1,659 @@
+/*
+    This file is part of the KDE libraries.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigHeaderGenerator.h"
+
+#include <QDebug>
+#include <QTextStream>
+#include <iostream>
+
+KConfigHeaderGenerator::KConfigHeaderGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &cfg, ParseResult &result)
+    : KConfigCodeGeneratorBase(inputFile, baseDir, baseDir + cfg.baseName + QLatin1Char('.') + cfg.headerExtension, cfg, result)
+{
+}
+
+void KConfigHeaderGenerator::start()
+{
+    KConfigCodeGeneratorBase::start();
+    startHeaderGuards();
+    createHeaders();
+
+    beginNamespaces();
+
+    createForwardDeclarations();
+
+    doClassDefinition();
+
+    endNamespaces();
+    endHeaderGuards();
+}
+
+void KConfigHeaderGenerator::doClassDefinition()
+{
+    stream() << "class " << cfg().visibility << cfg().className << " : public " << cfg().inherits << '\n';
+    startScope();
+
+    // Add Q_OBJECT macro if the config need signals.
+    if (!parseResult.signalList.isEmpty() || cfg().generateProperties) {
+        stream() << "  Q_OBJECT\n";
+    }
+
+    if (cfg().qmlRegistration) {
+        stream() << "  QML_ELEMENT\n";
+
+        if (cfg().singleton) {
+            stream() << "  QML_SINGLETON\n";
+        }
+    }
+    stream() << "  public:\n";
+    implementEnums();
+    createConstructor();
+    createDestructor();
+
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        const QString returnType = (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) ? enumType(entry, cfg().globalEnums) : cppType(entry->type);
+
+        createSetters(entry);
+        createProperties(entry, returnType);
+        createImmutableProperty(entry);
+        createGetters(entry, returnType);
+        createImmutableGetters(entry);
+        createDefaultValueMember(entry);
+        createItemAcessors(entry, returnType);
+    }
+
+    createSignals();
+    stream() << "  protected:\n";
+    createSingleton();
+
+    // TODO: Move those to functions too.
+    if (parseResult.hasNonModifySignals) {
+        stream() << whitespace() << "bool usrSave() override;\n";
+    }
+
+    // Member variables
+    if (!cfg().memberVariables.isEmpty() //
+        && cfg().memberVariables != QLatin1String("private") //
+        && cfg().memberVariables != QLatin1String("dpointer")) {
+        stream() << "  " << cfg().memberVariables << ":\n";
+    }
+
+    // Class Parameters
+    for (const auto &parameter : std::as_const(parseResult.parameters)) {
+        stream() << whitespace() << "" << cppType(parameter.type) << " mParam" << parameter.name << ";\n";
+    }
+
+    createNonDPointerHelpers();
+    createDPointer();
+
+    if (cfg().customAddons) {
+        stream() << whitespace() << "// Include custom additions\n";
+        stream() << whitespace() << "#include \"" << cfg().baseName << "_addons." << cfg().headerExtension << "\"\n";
+    }
+
+    endScope(ScopeFinalizer::Semicolon);
+}
+
+void KConfigHeaderGenerator::createHeaders()
+{
+    addHeaders(cfg().headerIncludes);
+    if (cfg().headerIncludes.size()) {
+        stream() << '\n';
+    }
+
+    if (!cfg().singleton && parseResult.parameters.isEmpty()) {
+        addHeaders({QStringLiteral("qglobal.h")});
+    }
+
+    if (cfg().inherits == QLatin1String("KCoreConfigSkeleton")) {
+        addHeaders({QStringLiteral("kcoreconfigskeleton.h")});
+    } else {
+        addHeaders({QStringLiteral("kconfigskeleton.h")});
+    }
+
+    addHeaders({QStringLiteral("QCoreApplication"), QStringLiteral("QDebug")});
+    if (!cfg().dpointer && parseResult.hasNonModifySignals) {
+        addHeaders({QStringLiteral("QSet")});
+    }
+
+    if (cfg().qmlRegistration) {
+        addHeaders({QStringLiteral("qqmlintegration.h")});
+    }
+
+    stream() << '\n';
+
+    addHeaders(parseResult.includes);
+    if (parseResult.includes.size()) {
+        stream() << '\n';
+    }
+}
+
+void KConfigHeaderGenerator::startHeaderGuards()
+{
+    const bool hasNamespace = !cfg().nameSpace.isEmpty();
+    const QString namespaceName = QString(QString(cfg().nameSpace).replace(QLatin1String("::"), QLatin1String("_"))).toUpper();
+    const QString namespaceStr = hasNamespace ? namespaceName + QLatin1Char('_') : QString{};
+    const QString defineName = namespaceStr + cfg().className.toUpper() + QStringLiteral("_H");
+
+    stream() << "#ifndef " << defineName << '\n';
+    stream() << "#define " << defineName << '\n';
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::endHeaderGuards()
+{
+    stream() << '\n';
+    stream() << "#endif";
+    stream() << '\n';
+    // HACK: Original files ended with two last newlines, add them.
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::implementChoiceEnums(const CfgEntry *entry, const CfgEntry::Choices &choices)
+{
+    const QList<CfgEntry::Choice> chlist = choices.choices;
+
+    if (chlist.isEmpty()) {
+        return;
+    }
+
+    QStringList values;
+    for (const auto &choice : std::as_const(chlist)) {
+        values.append(choices.prefix + choice.name);
+    }
+
+    if (choices.name().isEmpty()) {
+        if (cfg().globalEnums) {
+            stream() << whitespace() << "enum " << enumName(entry->name, entry->choices) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+            if (cfg().generateProperties) {
+                stream() << whitespace() << "Q_ENUM(" << enumName(entry->name, entry->choices) << ")\n";
+            }
+        } else {
+            // Create an automatically named enum
+            stream() << whitespace() << "class " << enumName(entry->name, entry->choices) << '\n';
+            stream() << whitespace() << "{\n";
+            stream() << whitespace() << "  public:\n";
+            stream() << whitespace() << "  enum type { " << values.join(QStringLiteral(", ")) << ", COUNT };\n";
+            stream() << whitespace() << "};\n";
+        }
+    } else if (!choices.external()) {
+        // Create a named enum
+        stream() << whitespace() << "enum " << enumName(entry->name, entry->choices) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+    }
+}
+
+void KConfigHeaderGenerator::implementValueEnums(const CfgEntry *entry, const QStringList &values)
+{
+    if (values.isEmpty()) {
+        return;
+    }
+
+    if (cfg().globalEnums) {
+        // ### FIXME!!
+        // make the following string table an index-based string search!
+        // ###
+        stream() << whitespace() << "enum " << enumName(entry->param) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+        stream() << whitespace() << "static const char* const " << enumName(entry->param) << "ToString[];\n";
+    } else {
+        stream() << whitespace() << "class " << enumName(entry->param) << '\n';
+        stream() << whitespace() << "{\n";
+        stream() << whitespace() << "  public:\n";
+        stream() << whitespace() << "  enum type { " << values.join(QStringLiteral(", ")) << ", COUNT };\n";
+        stream() << whitespace() << "  static const char* const enumToString[];\n";
+        stream() << whitespace() << "};\n";
+    }
+}
+
+void KConfigHeaderGenerator::implementEnums()
+{
+    if (!parseResult.entries.size()) {
+        return;
+    }
+
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        const CfgEntry::Choices &choices = entry->choices;
+        const QStringList values = entry->paramValues;
+
+        implementChoiceEnums(entry, choices);
+        implementValueEnums(entry, values);
+    }
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createSignals()
+{
+    // Signal definition.
+    if (parseResult.signalList.isEmpty()) {
+        return;
+    }
+
+    stream() << "\n    enum {\n";
+
+    // HACK: Use C-Style for add a comma in all but the last element,
+    // just to make the source generated code equal to the old one.
+    // When we are sure, revert this to a range-based-for and just add
+    // a last comma, as it's valid c++.
+    for (int i = 0, end = parseResult.signalList.size(); i < end; i++) {
+        auto signal = parseResult.signalList.at(i);
+        stream() << whitespace() << "  " << signalEnumName(signal.name) << " = " << (i + 1);
+        if (i != end - 1) {
+            stream() << ",\n";
+        }
+    }
+    stream() << '\n';
+    stream() << whitespace() << "};\n\n";
+
+    stream() << "  Q_SIGNALS:";
+    for (const Signal &signal : std::as_const(parseResult.signalList)) {
+        stream() << '\n';
+        if (!signal.label.isEmpty()) {
+            stream() << whitespace() << "/**\n";
+            stream() << whitespace() << "  " << signal.label << '\n';
+            stream() << whitespace() << "*/\n";
+        }
+        stream() << whitespace() << "void " << signal.name << "(";
+
+        auto it = signal.arguments.cbegin();
+        const auto itEnd = signal.arguments.cend();
+        while (it != itEnd) {
+            Param argument = *it;
+            QString type = param(argument.type);
+            if (cfg().useEnumTypes && argument.type == QLatin1String("Enum")) {
+                for (const auto *entry : std::as_const(parseResult.entries)) {
+                    if (entry->name == argument.name) {
+                        type = enumType(entry, cfg().globalEnums);
+                        break;
+                    }
+                }
+            }
+            stream() << type << " " << argument.name;
+            if (++it != itEnd) {
+                stream() << ", ";
+            }
+        }
+        stream() << ");\n";
+    }
+    stream() << '\n';
+
+    stream() << "  private:\n";
+    stream() << whitespace() << "void itemChanged(quint64 signalFlag);\n";
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createDPointer()
+{
+    if (!cfg().dpointer) {
+        return;
+    }
+
+    // use a private class for both member variables and items
+    stream() << "  private:\n";
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        if (cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) {
+            stream() << whitespace() << "";
+            if (cfg().staticAccessors) {
+                stream() << "static ";
+            }
+            stream() << cppType(entry->type) << " " << getDefaultFunction(entry->name) << "_helper(";
+            if (!entry->param.isEmpty()) {
+                stream() << " " << cppType(entry->paramType) << " i ";
+            }
+            stream() << ")" << Const() << ";\n";
+        }
+    }
+    stream() << whitespace() << "" << cfg().className << "Private *d;\n";
+}
+
+void KConfigHeaderGenerator::createConstructor()
+{
+    if (cfg().singleton) {
+        stream() << whitespace() << "static " << cfg().className << " *self();\n";
+
+        if (cfg().qmlRegistration) {
+            stream() << whitespace() << "static " << cfg().className << " *create(QQmlEngine *, QJSEngine *);\n";
+        }
+
+        if (parseResult.cfgFileNameArg) {
+            stream() << whitespace() << "static void instance(const QString& cfgfilename);\n";
+            stream() << whitespace() << "static void instance(KSharedConfig::Ptr config);\n";
+        }
+        return;
+    }
+
+    stream() << whitespace() << "" << cfg().className << "(";
+    if (parseResult.cfgFileNameArg) {
+        if (cfg().forceStringFilename) {
+            stream() << " const QString &cfgfilename" << (parseResult.parameters.isEmpty() ? " = QString()" : ", ");
+        } else if (parseResult.cfgStateConfig) {
+            stream() << " KSharedConfig::Ptr config" << (parseResult.parameters.isEmpty() ? " = KSharedConfig::openStateConfig()" : ", ");
+        } else {
+            stream() << " KSharedConfig::Ptr config" << (parseResult.parameters.isEmpty() ? " = KSharedConfig::openConfig()" : ", ");
+        }
+    }
+    if (cfg().forceStringFilename && parseResult.cfgStateConfig) {
+        std::cerr << "One can not use ForceStringFilename and use the stateConfig attribute, consider "
+                     "removing the ForceStringFilename kcfgc option if you want to use state data"
+                  << std::endl;
+    }
+
+    bool first = true;
+    for (const auto &parameter : std::as_const(parseResult.parameters)) {
+        if (first) {
+            first = false;
+        } else {
+            stream() << ",";
+        }
+
+        stream() << " " << param(parameter.type) << " " << parameter.name;
+    }
+
+    if (cfg().parentInConstructor) {
+        if (parseResult.cfgFileNameArg || !parseResult.parameters.isEmpty()) {
+            stream() << ",";
+        }
+        stream() << " QObject *parent = nullptr";
+    }
+    stream() << " );\n";
+}
+
+void KConfigHeaderGenerator::createDestructor()
+{
+    stream() << whitespace() << "~" << cfg().className << "() override;\n\n";
+}
+
+void KConfigHeaderGenerator::createForwardDeclarations()
+{
+    // Private class declaration
+    if (cfg().dpointer) {
+        stream() << "class " << cfg().className << "Private;\n\n";
+    }
+
+    if (cfg().qmlRegistration && cfg().singleton) {
+        stream() << "class QQmlEngine;\n";
+        stream() << "class QJSEngine;\n\n";
+    }
+}
+
+void KConfigHeaderGenerator::createProperties(const CfgEntry *entry, const QString &returnType)
+{
+    if (!cfg().generateProperties) {
+        return;
+    }
+    stream() << whitespace() << "Q_PROPERTY(" << returnType << ' ' << getFunction(entry->name);
+    stream() << " READ " << getFunction(entry->name);
+
+    if (cfg().allMutators || cfg().mutators.contains(entry->name)) {
+        const QString signal = changeSignalName(entry->name);
+        stream() << " WRITE " << setFunction(entry->name);
+        stream() << " NOTIFY " << signal;
+
+        // If we have the modified signal, we'll also need
+        // the changed signal as well
+        Signal s;
+        s.name = signal;
+        s.modify = true;
+        parseResult.signalList.append(s);
+    } else {
+        stream() << " CONSTANT";
+    }
+    stream() << ")\n";
+}
+
+void KConfigHeaderGenerator::createImmutableProperty(const CfgEntry *entry)
+{
+    if (!cfg().generateProperties) {
+        return;
+    }
+    stream() << whitespace();
+    stream() << "Q_PROPERTY(bool " << immutableFunction(entry->name);
+    stream() << " READ " << immutableFunction(entry->name);
+    stream() << " CONSTANT)\n";
+}
+
+void KConfigHeaderGenerator::createSetters(const CfgEntry *entry)
+{
+    // Manipulator
+    if (!cfg().allMutators && !cfg().mutators.contains(entry->name)) {
+        return;
+    }
+
+    stream() << whitespace() << "/**\n";
+    stream() << whitespace() << "  Set " << entry->label << '\n';
+    stream() << whitespace() << "*/\n";
+
+    if (cfg().staticAccessors) {
+        stream() << whitespace() << "static\n";
+    }
+
+    stream() << whitespace() << "void " << setFunction(entry->name) << "( ";
+    if (!entry->param.isEmpty()) {
+        stream() << cppType(entry->paramType) << " i, ";
+    }
+
+    stream() << (cfg().useEnumTypes && entry->type == QLatin1String("Enum") ? enumType(entry, cfg().globalEnums) : param(entry->type));
+
+    stream() << " v )";
+
+    // function body inline only if not using dpointer
+    // for BC mode
+    if (!cfg().dpointer) {
+        stream() << '\n';
+        startScope();
+        memberMutatorBody(entry);
+        endScope();
+        stream() << '\n';
+    } else {
+        stream() << ";\n\n";
+    }
+}
+
+void KConfigHeaderGenerator::createGetters(const CfgEntry *entry, const QString &returnType)
+{
+    // Accessor
+    stream() << whitespace() << "/**\n";
+    stream() << whitespace() << "  Get " << entry->label << '\n';
+    stream() << whitespace() << "*/\n";
+    if (cfg().staticAccessors) {
+        stream() << whitespace() << "static\n";
+    }
+    stream() << whitespace() << "";
+    stream() << returnType;
+    stream() << " " << getFunction(entry->name) << "(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")" << Const();
+
+    // function body inline only if not using dpointer
+    // for BC mode
+    if (!cfg().dpointer) {
+        stream() << '\n';
+        startScope();
+        stream() << whitespace() << memberAccessorBody(entry, cfg().globalEnums);
+        endScope();
+        stream() << '\n';
+    } else {
+        stream() << ";\n\n";
+    }
+}
+
+void KConfigHeaderGenerator::createImmutableGetters(const CfgEntry *entry)
+{
+    stream() << whitespace() << "/**\n";
+    stream() << whitespace() << "  Is " << entry->label << " Immutable\n";
+    stream() << whitespace() << "*/\n";
+    // Immutable
+    if (cfg().staticAccessors) {
+        stream() << whitespace() << "static\n";
+    }
+    stream() << whitespace() << "";
+    stream() << "bool " << immutableFunction(entry->name) << "(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")" << Const();
+    // function body inline only if not using dpointer
+    // for BC mode
+    if (!cfg().dpointer) {
+        stream() << '\n';
+        startScope();
+        memberImmutableBody(entry, cfg().globalEnums);
+        endScope();
+        stream() << '\n';
+    } else {
+        stream() << ";\n\n";
+    }
+}
+
+void KConfigHeaderGenerator::createItemAcessors(const CfgEntry *entry, const QString &returnType)
+{
+    Q_UNUSED(returnType)
+
+    // Item accessor
+    if (!cfg().itemAccessors) {
+        return;
+    }
+
+    const QString declType = entry->signalList.isEmpty() ? QStringLiteral("Item") + itemType(entry->type) : QStringLiteral("KConfigCompilerSignallingItem");
+
+    stream() << whitespace() << "/**\n";
+    stream() << whitespace() << "  Get Item object corresponding to " << entry->name << "()" << '\n';
+    stream() << whitespace() << "*/\n";
+    stream() << whitespace() << declType << " *" << getFunction(entry->name) << "Item(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")";
+    if (!cfg().dpointer) {
+        stream() << '\n';
+        startScope();
+        stream() << whitespace() << itemAccessorBody(entry, cfg());
+        endScope();
+    } else {
+        stream() << ";\n";
+    }
+
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createDefaultValueMember(const CfgEntry *entry)
+{
+    // Default value Accessor
+    if (!((cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) && !entry->defaultValue.isEmpty())) {
+        return;
+    }
+    stream() << whitespace() << "/**\n";
+    stream() << whitespace() << "  Get " << entry->label << " default value\n";
+    stream() << whitespace() << "*/\n";
+    if (cfg().staticAccessors) {
+        stream() << whitespace() << "static\n";
+    }
+    stream() << whitespace() << "";
+    if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+        stream() << enumType(entry, cfg().globalEnums);
+    } else {
+        stream() << cppType(entry->type);
+    }
+    stream() << " " << getDefaultFunction(entry->name) << "(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")" << Const() << '\n';
+    stream() << whitespace() << "{\n";
+    stream() << whitespace() << "    return ";
+    if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+        stream() << "static_cast<" << enumType(entry, cfg().globalEnums) << ">(";
+    }
+    stream() << getDefaultFunction(entry->name) << "_helper(";
+    if (!entry->param.isEmpty()) {
+        stream() << " i ";
+    }
+    stream() << ")";
+    if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+        stream() << ")";
+    }
+    stream() << ";\n";
+    stream() << whitespace() << "}\n";
+    stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createSingleton()
+{
+    // Private constructor for singleton
+    if (!cfg().singleton) {
+        return;
+    }
+
+    stream() << whitespace() << "" << cfg().className << "(";
+    if (parseResult.cfgFileNameArg) {
+        stream() << "KSharedConfig::Ptr config";
+    }
+    if (cfg().parentInConstructor) {
+        if (parseResult.cfgFileNameArg) {
+            stream() << ", ";
+        }
+        stream() << "QObject *parent = nullptr";
+    }
+    stream() << ");\n";
+    stream() << whitespace() << "friend class " << cfg().className << "Helper;\n\n";
+}
+
+void KConfigHeaderGenerator::createNonDPointerHelpers()
+{
+    if (cfg().memberVariables == QLatin1String("dpointer")) {
+        return;
+    }
+
+    QString group;
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        if (entry->group != group) {
+            group = entry->group;
+            stream() << '\n';
+            stream() << whitespace() << "// " << group << '\n';
+        }
+        stream() << whitespace() << "" << cppType(entry->type) << " " << varName(entry->name, cfg());
+        if (!entry->param.isEmpty()) {
+            stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+        }
+        stream() << ";\n";
+
+        if (cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) {
+            stream() << whitespace() << "";
+            if (cfg().staticAccessors) {
+                stream() << "static ";
+            }
+            stream() << cppType(entry->type) << " " << getDefaultFunction(entry->name) << "_helper(";
+            if (!entry->param.isEmpty()) {
+                stream() << " " << cppType(entry->paramType) << " i ";
+            }
+            stream() << ")" << Const() << ";\n";
+        }
+    }
+
+    stream() << "\n  private:\n";
+    if (cfg().itemAccessors) {
+        for (const auto *entry : std::as_const(parseResult.entries)) {
+            const QString declType =
+                entry->signalList.isEmpty() ? QStringLiteral("Item") + itemType(entry->type) : QStringLiteral("KConfigCompilerSignallingItem");
+            stream() << whitespace() << declType << " *" << itemVar(entry, cfg());
+            if (!entry->param.isEmpty()) {
+                stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+            }
+            stream() << ";\n";
+        }
+    }
+
+    if (parseResult.hasNonModifySignals) {
+        stream() << whitespace() << "QSet<quint64> " << varName(QStringLiteral("settingsChanged"), cfg()) << ";\n";
+    }
+}
diff --git a/src/kconfig_compiler/KConfigHeaderGenerator.h b/src/kconfig_compiler/KConfigHeaderGenerator.h
new file mode 100644 (file)
index 0000000..4c2e456
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGHEADERGENERATOR_H
+#define KCONFIGHEADERGENERATOR_H
+
+#include "KConfigCodeGeneratorBase.h"
+#include "KConfigCommonStructs.h"
+
+#include <QList>
+#include <QString>
+
+class KConfigParameters;
+class CfgEntry;
+class QTextStream;
+struct ParseResult;
+
+class KConfigHeaderGenerator : public KConfigCodeGeneratorBase
+{
+public:
+    KConfigHeaderGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &parameters, ParseResult &parseResult);
+
+    void start() override;
+
+private:
+    void startHeaderGuards();
+    void endHeaderGuards();
+
+    void implementEnums();
+    void implementChoiceEnums(const CfgEntry *entry, const CfgEntry::Choices &choices);
+    void implementValueEnums(const CfgEntry *entry, const QStringList &values);
+
+    void doClassDefinition();
+    void createHeaders();
+    void createDPointer();
+    void createNonDPointerHelpers();
+
+    void createConstructor();
+    void createDestructor();
+    void createForwardDeclarations();
+    void createSingleton();
+    void createSignals();
+
+    void createSetters(const CfgEntry *entry);
+    void createItemAcessors(const CfgEntry *entry, const QString &returnType);
+    void createGetters(const CfgEntry *entry, const QString &returnType);
+    void createImmutableGetters(const CfgEntry *entry);
+    void createProperties(const CfgEntry *entry, const QString &returnType);
+    void createImmutableProperty(const CfgEntry *entry);
+    void createDefaultValueMember(const CfgEntry *entry);
+};
+
+#endif
diff --git a/src/kconfig_compiler/KConfigParameters.cpp b/src/kconfig_compiler/KConfigParameters.cpp
new file mode 100644 (file)
index 0000000..ae09dfa
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+    This file is part of the KDE libraries.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigParameters.h"
+
+#include <QDebug>
+#include <QFileInfo>
+
+#include <iostream>
+
+KConfigParameters::KConfigParameters(const QString &codegenFilename)
+{
+    if (!codegenFilename.endsWith(QLatin1String(".kcfgc"))) {
+        std::cerr << "Codegen options file must have extension .kcfgc" << std::endl;
+        exit(1);
+    }
+
+    baseName = QFileInfo(codegenFilename).fileName();
+    baseName = baseName.left(baseName.length() - 6);
+
+    // Configure the compiler with some settings
+    QSettings codegenConfig(codegenFilename, QSettings::IniFormat);
+
+    nameSpace = codegenConfig.value(QStringLiteral("NameSpace")).toString();
+    className = codegenConfig.value(QStringLiteral("ClassName")).toString();
+    if (className.isEmpty()) {
+        std::cerr << "Class name missing" << std::endl;
+        exit(1);
+    }
+    inherits = codegenConfig.value(QStringLiteral("Inherits")).toString();
+    if (inherits.isEmpty()) {
+        inherits = QStringLiteral("KConfigSkeleton");
+    }
+    visibility = codegenConfig.value(QStringLiteral("Visibility")).toString();
+    if (!visibility.isEmpty()) {
+        visibility += QLatin1Char(' ');
+    }
+    parentInConstructor = codegenConfig.value(QStringLiteral("ParentInConstructor"), false).toBool();
+    forceStringFilename = codegenConfig.value(QStringLiteral("ForceStringFilename"), false).toBool();
+    singleton = codegenConfig.value(QStringLiteral("Singleton"), false).toBool();
+    staticAccessors = singleton;
+    customAddons = codegenConfig.value(QStringLiteral("CustomAdditions"), false).toBool();
+    memberVariables = codegenConfig.value(QStringLiteral("MemberVariables")).toString();
+    dpointer = (memberVariables == QLatin1String("dpointer"));
+    headerIncludes = codegenConfig.value(QStringLiteral("IncludeFiles"), QStringList()).toStringList();
+    sourceIncludes = codegenConfig.value(QStringLiteral("SourceIncludeFiles"), QStringList()).toStringList();
+    mutators = codegenConfig.value(QStringLiteral("Mutators"), QStringList()).toStringList();
+    allMutators = ((mutators.count() == 1) && (mutators.at(0).toLower() == QLatin1String("true")));
+    itemAccessors = codegenConfig.value(QStringLiteral("ItemAccessors"), false).toBool();
+    setUserTexts = codegenConfig.value(QStringLiteral("SetUserTexts"), false).toBool();
+    defaultGetters = codegenConfig.value(QStringLiteral("DefaultValueGetters"), QStringList()).toStringList();
+    allDefaultGetters = (defaultGetters.count() == 1) && (defaultGetters.at(0).toLower() == QLatin1String("true"));
+    notifiers = codegenConfig.value(QStringLiteral("Notifiers"), QStringList()).toStringList();
+    allNotifiers = ((notifiers.count() == 1) && (notifiers.at(0).toLower() == QLatin1String("true")));
+    globalEnums = codegenConfig.value(QStringLiteral("GlobalEnums"), false).toBool();
+    useEnumTypes = codegenConfig.value(QStringLiteral("UseEnumTypes"), false).toBool();
+    const QString trString = codegenConfig.value(QStringLiteral("TranslationSystem")).toString().toLower();
+    generateProperties = codegenConfig.value(QStringLiteral("GenerateProperties"), false).toBool();
+    if (trString == QLatin1String("kde")) {
+        translationSystem = KdeTranslation;
+        translationDomain = codegenConfig.value(QStringLiteral("TranslationDomain")).toString();
+    } else {
+        if (!trString.isEmpty() && trString != QLatin1String("qt")) {
+            std::cerr << "Unknown translation system, falling back to Qt tr()" << std::endl;
+        }
+        translationSystem = QtTranslation;
+    }
+    qCategoryLoggingName = codegenConfig.value(QStringLiteral("CategoryLoggingName"), QString()).toString();
+    headerExtension = codegenConfig.value(QStringLiteral("HeaderExtension"), QStringLiteral("h")).toString();
+    qmlRegistration = codegenConfig.value(QStringLiteral("QmlRegistration")).toBool();
+}
diff --git a/src/kconfig_compiler/KConfigParameters.h b/src/kconfig_compiler/KConfigParameters.h
new file mode 100644 (file)
index 0000000..8537909
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGXTPARAMETERS_H
+#define KCONFIGXTPARAMETERS_H
+
+#include <QSettings>
+#include <QString>
+#include <QStringList>
+
+/**
+   Configuration Compiler Configuration
+*/
+class KConfigParameters
+{
+public:
+    KConfigParameters(const QString &codegenFilename);
+
+public:
+    enum TranslationSystem {
+        QtTranslation,
+        KdeTranslation,
+    };
+
+    // These are read from the .kcfgc configuration file
+    QString nameSpace; // The namespace for the class to be generated
+    QString className; // The class name to be generated
+    QString inherits; // The class the generated class inherits (if empty, from KConfigSkeleton)
+    QString visibility;
+    bool parentInConstructor; // The class has the optional parent parameter in its constructor
+    bool forceStringFilename;
+    bool singleton; // The class will be a singleton
+    bool staticAccessors; // provide or not static accessors
+    bool customAddons;
+    QString memberVariables;
+    QStringList headerIncludes;
+    QStringList sourceIncludes;
+    QStringList mutators;
+    QStringList defaultGetters;
+    QStringList notifiers;
+    QString qCategoryLoggingName;
+    QString headerExtension;
+    bool allMutators;
+    bool setUserTexts;
+    bool allDefaultGetters;
+    bool dpointer;
+    bool globalEnums;
+    bool useEnumTypes;
+    bool itemAccessors;
+    bool allNotifiers;
+    TranslationSystem translationSystem;
+    QString translationDomain;
+    bool generateProperties;
+    QString baseName;
+    bool qmlRegistration;
+};
+
+#endif
diff --git a/src/kconfig_compiler/KConfigSourceGenerator.cpp b/src/kconfig_compiler/KConfigSourceGenerator.cpp
new file mode 100644 (file)
index 0000000..f1e0843
--- /dev/null
@@ -0,0 +1,718 @@
+/*
+    This file is part of the KDE libraries
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigSourceGenerator.h"
+
+#include <QRegularExpression>
+
+KConfigSourceGenerator::KConfigSourceGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &cfg, ParseResult &parseResult)
+    : KConfigCodeGeneratorBase(inputFile, baseDir, baseDir + cfg.baseName + QLatin1String(".cpp"), cfg, parseResult)
+{
+}
+
+void KConfigSourceGenerator::start()
+{
+    KConfigCodeGeneratorBase::start();
+    stream() << '\n';
+    createHeaders();
+
+    if (!cfg().nameSpace.isEmpty()) {
+        stream() << "using namespace " << cfg().nameSpace << ";";
+        stream() << "\n\n";
+    }
+
+    createPrivateDPointerImplementation();
+    createSingletonImplementation();
+    createPreamble();
+    doConstructor();
+    doGetterSetterDPointerMode();
+    createDefaultValueGetterSetter();
+    createDestructor();
+    createNonModifyingSignalsHelper();
+    createSignalFlagsHandler();
+}
+
+void KConfigSourceGenerator::createHeaders()
+{
+    QString headerName = cfg().baseName + QLatin1Char('.') + cfg().headerExtension;
+
+    // TODO: Make addQuotes return a string instead of replacing it inplace.
+    addQuotes(headerName);
+
+    addHeaders({headerName});
+    stream() << '\n';
+
+    addHeaders(cfg().sourceIncludes);
+    if (cfg().setUserTexts && cfg().translationSystem == KConfigParameters::KdeTranslation) {
+        addHeaders({QStringLiteral("klocalizedstring.h")});
+        stream() << '\n';
+    }
+
+    // Header required by singleton implementation
+    if (cfg().singleton) {
+        addHeaders({QStringLiteral("qglobal.h"), QStringLiteral("QFile")});
+
+        // HACK: Add single line to fix test.
+        if (cfg().singleton && parseResult.cfgFileNameArg) {
+            stream() << '\n';
+        }
+    }
+
+    if (cfg().singleton && parseResult.cfgFileNameArg) {
+        addHeaders({QStringLiteral("QDebug")});
+    }
+
+    if (cfg().dpointer && parseResult.hasNonModifySignals) {
+        addHeaders({QStringLiteral("QSet")});
+    }
+
+    if (cfg().qmlRegistration && cfg().singleton) {
+        addHeaders({QStringLiteral("QQmlEngine")});
+    }
+
+    if (cfg().singleton) {
+        stream() << '\n';
+    }
+}
+
+void KConfigSourceGenerator::createPrivateDPointerImplementation()
+{
+    // private class implementation
+    if (!cfg().dpointer) {
+        return;
+    }
+
+    QString group;
+    beginNamespaces();
+    stream() << "class " << cfg().className << "Private\n";
+    stream() << "{\n";
+    stream() << "  public:\n";
+
+    // Create Members
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        if (entry->group != group) {
+            group = entry->group;
+            stream() << '\n';
+            stream() << "    // " << group << '\n';
+        }
+        stream() << "    " << cppType(entry->type) << " " << varName(entry->name, cfg());
+        if (!entry->param.isEmpty()) {
+            stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+        }
+        stream() << ";\n";
+    }
+    stream() << "\n    // items\n";
+
+    // Create Items.
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        const QString declType = entry->signalList.isEmpty() ? QString(cfg().inherits + QStringLiteral("::Item") + itemType(entry->type))
+                                                             : QStringLiteral("KConfigCompilerSignallingItem");
+
+        stream() << "    " << declType << " *" << itemVar(entry, cfg());
+        if (!entry->param.isEmpty()) {
+            stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+        }
+        stream() << ";\n";
+    }
+
+    if (parseResult.hasNonModifySignals) {
+        stream() << "    QSet<quint64> " << varName(QStringLiteral("settingsChanged"), cfg()) << ";\n";
+    }
+
+    stream() << "};\n\n";
+    endNamespaces();
+}
+
+void KConfigSourceGenerator::createSingletonImplementation()
+{
+    // Singleton implementation
+    if (!cfg().singleton) {
+        return;
+    }
+
+    beginNamespaces();
+    stream() << "class " << cfg().className << "Helper\n";
+    stream() << '{' << '\n';
+    stream() << "  public:\n";
+    stream() << "    " << cfg().className << "Helper() : q(nullptr) {}\n";
+    stream() << "    ~" << cfg().className << "Helper() { delete q; q = nullptr; }\n";
+    stream() << "    " << cfg().className << "Helper(const " << cfg().className << "Helper&) = delete;\n";
+    stream() << "    " << cfg().className << "Helper& operator=(const " << cfg().className << "Helper&) = delete;\n";
+    stream() << "    " << cfg().className << " *q;\n";
+    stream() << "};\n";
+    endNamespaces();
+
+    stream() << "Q_GLOBAL_STATIC(" << cfg().className << "Helper, s_global" << cfg().className << ")\n";
+
+    stream() << cfg().className << " *" << cfg().className << "::self()\n";
+    stream() << "{\n";
+    if (parseResult.cfgFileNameArg) {
+        stream() << "  if (!s_global" << cfg().className << "()->q)\n";
+        stream() << "     qFatal(\"you need to call " << cfg().className << "::instance before using\");\n";
+    } else {
+        stream() << "  if (!s_global" << cfg().className << "()->q) {\n";
+        stream() << "    new " << cfg().className << ';' << '\n';
+        stream() << "    s_global" << cfg().className << "()->q->read();\n";
+        stream() << "  }\n\n";
+    }
+    stream() << "  return s_global" << cfg().className << "()->q;\n";
+    stream() << "}\n\n";
+
+    if (cfg().qmlRegistration && cfg().singleton) {
+        stream() << cfg().className << " *" << cfg().className << "::create(QQmlEngine *, QJSEngine *)\n";
+        stream() << "{\n";
+        stream() << "  QQmlEngine::setObjectOwnership(self(), QQmlEngine::CppOwnership);\n";
+        stream() << "  return self();\n";
+        stream() << "}\n\n";
+    }
+
+    if (parseResult.cfgFileNameArg) {
+        auto instance = [this](const QString &type, const QString &arg, bool isString) {
+            stream() << "void " << cfg().className << "::instance(" << type << " " << arg << ")\n";
+            stream() << "{\n";
+            stream() << "  if (s_global" << cfg().className << "()->q) {\n";
+            stream() << "     qDebug() << \"" << cfg().className << "::instance called after the first use - ignoring\";\n";
+            stream() << "     return;\n";
+            stream() << "  }\n";
+            stream() << "  new " << cfg().className << "(";
+            if (parseResult.cfgStateConfig) {
+                stream() << "KSharedConfig::openStateConfig(" << arg << ")";
+            } else if (isString) {
+                stream() << "KSharedConfig::openConfig(" << arg << ")";
+            } else {
+                stream() << "std::move(" << arg << ")";
+            }
+            stream() << ");\n";
+            stream() << "  s_global" << cfg().className << "()->q->read();\n";
+            stream() << "}\n\n";
+        };
+        instance(QStringLiteral("const QString&"), QStringLiteral("cfgfilename"), true);
+        instance(QStringLiteral("KSharedConfig::Ptr"), QStringLiteral("config"), false);
+    }
+}
+
+void KConfigSourceGenerator::createPreamble()
+{
+    QString cppPreamble;
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        if (entry->paramValues.isEmpty()) {
+            continue;
+        }
+
+        cppPreamble += QStringLiteral("const char* const ") + cfg().className + QStringLiteral("::") + enumName(entry->param);
+        cppPreamble += cfg().globalEnums
+            ? QStringLiteral("ToString[] = { \"") + entry->paramValues.join(QStringLiteral("\", \"")) + QStringLiteral("\" };\n")
+            : QStringLiteral("::enumToString[] = { \"") + entry->paramValues.join(QStringLiteral("\", \"")) + QStringLiteral("\" };\n");
+    }
+
+    if (!cppPreamble.isEmpty()) {
+        stream() << cppPreamble << '\n';
+    }
+}
+
+void KConfigSourceGenerator::createConstructorParameterList()
+{
+    if (parseResult.cfgFileNameArg) {
+        if (!cfg().forceStringFilename) {
+            stream() << " KSharedConfig::Ptr config";
+        } else {
+            stream() << " const QString& config";
+        }
+        stream() << (parseResult.parameters.isEmpty() ? "" : ",");
+    }
+
+    for (auto it = parseResult.parameters.cbegin(); it != parseResult.parameters.cend(); ++it) {
+        if (it != parseResult.parameters.cbegin()) {
+            stream() << ",";
+        }
+        stream() << " " << param((*it).type) << " " << (*it).name;
+    }
+
+    if (cfg().parentInConstructor) {
+        if (parseResult.cfgFileNameArg || !parseResult.parameters.isEmpty()) {
+            stream() << ",";
+        }
+        stream() << " QObject *parent";
+    }
+}
+
+void KConfigSourceGenerator::createParentConstructorCall()
+{
+    stream() << cfg().inherits << "(";
+    if (parseResult.cfgStateConfig) {
+        stream() << " KSharedConfig::openStateConfig(QStringLiteral( \"" << parseResult.cfgFileName << "\") ";
+    } else if (!parseResult.cfgFileName.isEmpty()) {
+        stream() << " QStringLiteral( \"" << parseResult.cfgFileName << "\" ";
+    }
+    if (parseResult.cfgFileNameArg) {
+        if (!cfg().forceStringFilename) {
+            stream() << " std::move( config ) ";
+        } else {
+            stream() << " config ";
+        }
+    }
+    if (!parseResult.cfgFileName.isEmpty()) {
+        stream() << ") ";
+    }
+    stream() << ")\n";
+}
+
+void KConfigSourceGenerator::createInitializerList()
+{
+    for (const auto &parameter : std::as_const(parseResult.parameters)) {
+        stream() << "  , mParam" << parameter.name << "(" << parameter.name << ")\n";
+    }
+}
+
+void KConfigSourceGenerator::createEnums(const CfgEntry *entry)
+{
+    if (entry->type != QLatin1String("Enum")) {
+        return;
+    }
+    stream() << "  QList<" << cfg().inherits << "::ItemEnum::Choice> values" << entry->name << ";\n";
+
+    for (const auto &choice : std::as_const(entry->choices.choices)) {
+        stream() << "  {\n";
+        stream() << "    " << cfg().inherits << "::ItemEnum::Choice choice;\n";
+        stream() << "    choice.name = QStringLiteral(\"" << choice.name << "\");\n";
+        if (cfg().setUserTexts) {
+            if (!choice.label.isEmpty()) {
+                stream() << "    choice.label = " << translatedString(cfg(), choice.label, choice.context) << ";\n";
+            }
+            if (!choice.toolTip.isEmpty()) {
+                stream() << "    choice.toolTip = " << translatedString(cfg(), choice.toolTip, choice.context) << ";\n";
+            }
+            if (!choice.whatsThis.isEmpty()) {
+                stream() << "    choice.whatsThis = " << translatedString(cfg(), choice.whatsThis, choice.context) << ";\n";
+            }
+        }
+        stream() << "    values" << entry->name << ".append( choice );\n";
+        stream() << "  }\n";
+    }
+}
+
+void KConfigSourceGenerator::createNormalEntry(const CfgEntry *entry, const QString &key)
+{
+    const QString itemVarStr = itemPath(entry, cfg());
+    const QString innerItemVarStr = innerItemVar(entry, cfg());
+    if (!entry->signalList.isEmpty()) {
+        stream() << "  " << innerItemVarStr << " = " << newInnerItem(entry, key, entry->defaultValue, cfg()) << '\n';
+    }
+
+    stream() << "  " << itemVarStr << " = " << newItem(entry, key, entry->defaultValue, cfg()) << '\n';
+
+    if (!entry->min.isEmpty()) {
+        stream() << "  " << innerItemVarStr << "->setMinValue(" << entry->min << ");\n";
+    }
+
+    if (!entry->max.isEmpty()) {
+        stream() << "  " << innerItemVarStr << "->setMaxValue(" << entry->max << ");\n";
+    }
+
+    if (cfg().setUserTexts) {
+        stream() << userTextsFunctions(entry, cfg());
+    }
+
+    if (cfg().allNotifiers || cfg().notifiers.contains(entry->name)) {
+        stream() << "  " << itemVarStr << "->setWriteFlags(KConfigBase::Notify);\n";
+    }
+
+    for (const CfgEntry::Choice &choice : std::as_const(entry->choices.choices)) {
+        if (!choice.val.isEmpty()) {
+            stream() << "  " << innerItemVarStr << "->setValueForChoice(QStringLiteral( \"" << choice.name << "\" ), QStringLiteral( \"" << choice.val
+                     << "\" ));\n";
+        }
+    }
+
+    if (!entry->parentGroup.isEmpty()) {
+        stream() << "  " << itemVarStr << "->setGroup(cg" << QString(entry->group).remove(QRegularExpression(QStringLiteral("\\W"))) << ");\n";
+    }
+
+    stream() << "  addItem( " << itemVarStr;
+    QString quotedName = entry->name;
+    addQuotes(quotedName);
+    if (quotedName != key) {
+        stream() << ", QStringLiteral( \"" << entry->name << "\" )";
+    }
+    stream() << " );\n";
+}
+
+// TODO : Some compiler option won't work or generate bogus settings file.
+// * Does not manage properly Notifiers=true kcfgc option for parameterized entries :
+// ** KConfigCompilerSignallingItem generated with wrong userData parameter (4th one).
+// ** setWriteFlags() is missing.
+// * Q_PROPERTY signal won't work
+void KConfigSourceGenerator::createIndexedEntry(const CfgEntry *entry, const QString &key)
+{
+    for (int i = 0; i <= entry->paramMax; i++) {
+        const QString argBracket = QStringLiteral("[%1]").arg(i);
+        const QString innerItemVarStr = innerItemVar(entry, cfg()) + argBracket;
+
+        const QString defaultStr = !entry->paramDefaultValues[i].isEmpty() ? entry->paramDefaultValues[i]
+            : !entry->defaultValue.isEmpty()                               ? paramString(entry->defaultValue, entry, i)
+                                                                           : defaultValue(entry->type);
+
+        if (!entry->signalList.isEmpty()) {
+            stream() << "  " << innerItemVarStr << " = " << newInnerItem(entry, paramString(key, entry, i), defaultStr, cfg(), argBracket) << '\n';
+        }
+
+        const QString itemVarStr = itemPath(entry, cfg()) + argBracket;
+
+        stream() << "  " << itemVarStr << " = " << newItem(entry, paramString(key, entry, i), defaultStr, cfg(), argBracket) << '\n';
+
+        if (!entry->min.isEmpty()) {
+            stream() << "  " << innerItemVarStr << "->setMinValue(" << entry->min << ");\n";
+        }
+        if (!entry->max.isEmpty()) {
+            stream() << "  " << innerItemVarStr << "->setMaxValue(" << entry->max << ");\n";
+        }
+
+        for (const CfgEntry::Choice &choice : std::as_const(entry->choices.choices)) {
+            if (!choice.val.isEmpty()) {
+                stream() << "  " << innerItemVarStr << "->setValueForChoice(QStringLiteral( \"" << choice.name << "\" ), QStringLiteral( \"" << choice.val
+                         << "\" ));\n";
+            }
+        }
+
+        if (cfg().setUserTexts) {
+            stream() << userTextsFunctions(entry, cfg(), itemVarStr, entry->paramName);
+        }
+
+        // Make mutators for enum parameters work by adding them with $(..) replaced by the
+        // param name. The check for isImmutable in the set* functions doesn't have the param
+        // name available, just the corresponding enum value (int), so we need to store the
+        // param names in a separate static list!.
+        const bool isEnum = entry->paramType == QLatin1String("Enum");
+        const QString arg = isEnum ? entry->paramValues[i] : QString::number(i);
+
+        QString paramName = entry->paramName;
+
+        stream() << "  addItem( " << itemVarStr << ", QStringLiteral( \"";
+        stream() << paramName.replace(QStringLiteral("$(") + entry->param + QLatin1Char(')'), QLatin1String("%1")).arg(arg);
+        stream() << "\" ) );\n";
+    }
+}
+
+void KConfigSourceGenerator::handleCurrentGroupChange(const CfgEntry *entry)
+{
+    if (entry->group == mCurrentGroup) {
+        return;
+    }
+
+    // HACK: This fixes one spacing line in the diff. Remove this in the future and adapt the testcases.
+    static bool first = true;
+    if (!entry->group.isEmpty()) {
+        if (!first) {
+            stream() << '\n';
+        }
+        first = false;
+    }
+
+    mCurrentGroup = entry->group;
+
+    if (!entry->parentGroup.isEmpty()) {
+        QString parentGroup = QString(entry->parentGroup).remove(QRegularExpression(QStringLiteral("\\W")));
+        if (!mConfigGroupList.contains(parentGroup)) {
+            stream() << "  KConfigGroup cg" << parentGroup << "(this->config(), " << paramString(entry->parentGroup, parseResult.parameters) << ");\n";
+            mConfigGroupList << parentGroup;
+        }
+        QString currentGroup = QString(mCurrentGroup).remove(QRegularExpression(QStringLiteral("\\W")));
+        if (!mConfigGroupList.contains(currentGroup)) {
+            stream() << "  KConfigGroup cg" << currentGroup << " = cg" << QString(entry->parentGroup).remove(QRegularExpression(QStringLiteral("\\W")))
+                     << ".group(" << paramString(mCurrentGroup, parseResult.parameters) << ");\n";
+            mConfigGroupList << currentGroup;
+        }
+    } else {
+        stream() << "  setCurrentGroup( " << paramString(mCurrentGroup, parseResult.parameters) << " );";
+        stream() << "\n\n";
+    }
+}
+
+void KConfigSourceGenerator::doConstructor()
+{
+    // Constructor
+    stream() << cfg().className << "::" << cfg().className << "(";
+    createConstructorParameterList();
+    stream() << " )\n";
+    stream() << "  : ";
+    createParentConstructorCall();
+    createInitializerList();
+
+    stream() << "{\n";
+
+    if (cfg().parentInConstructor) {
+        stream() << "  setParent(parent);\n";
+    }
+
+    if (cfg().dpointer) {
+        stream() << "  d = new " << cfg().className << "Private;\n";
+    }
+
+    // Needed in case the singleton class is used as baseclass for
+    // another singleton.
+    if (cfg().singleton) {
+        stream() << "  Q_ASSERT(!s_global" << cfg().className << "()->q);\n";
+        stream() << "  s_global" << cfg().className << "()->q = this;\n";
+    }
+
+    if (!parseResult.signalList.isEmpty()) {
+        // this cast to base-class pointer-to-member is valid C++
+        // https://stackoverflow.com/questions/4272909/is-it-safe-to-upcast-a-method-pointer-and-use-it-with-base-class-pointer/
+        stream() << "  KConfigCompilerSignallingItem::NotifyFunction notifyFunction ="
+                 << " static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&" << cfg().className << "::itemChanged);\n";
+
+        stream() << '\n';
+    }
+
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        handleCurrentGroupChange(entry);
+
+        const QString key = paramString(entry->key, parseResult.parameters);
+        if (!entry->code.isEmpty()) {
+            stream() << entry->code << '\n';
+        }
+        createEnums(entry);
+
+        stream() << itemDeclaration(entry, cfg());
+
+        if (entry->param.isEmpty()) {
+            createNormalEntry(entry, key);
+        } else {
+            createIndexedEntry(entry, key);
+        }
+    }
+
+    stream() << "}\n\n";
+}
+
+void KConfigSourceGenerator::createGetterDPointerMode(const CfgEntry *entry)
+{
+    // Accessor
+    if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+        stream() << enumType(entry, cfg().globalEnums);
+    } else {
+        stream() << cppType(entry->type);
+    }
+
+    stream() << " " << getFunction(entry->name, cfg().className) << "(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")" << Const() << '\n';
+
+    // function body inline only if not using dpointer
+    // for BC mode
+    startScope();
+    // HACK: Fix memberAccessorBody
+    stream() << "  " << memberAccessorBody(entry, cfg().globalEnums);
+    endScope();
+    stream() << '\n';
+}
+
+void KConfigSourceGenerator::createImmutableGetterDPointerMode(const CfgEntry *entry)
+{
+    stream() << whitespace() << "";
+    stream() << "bool "
+             << " " << immutableFunction(entry->name, cfg().className) << "(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")" << Const() << '\n';
+    startScope();
+    memberImmutableBody(entry, cfg().globalEnums);
+    endScope();
+    stream() << '\n';
+}
+
+void KConfigSourceGenerator::createSetterDPointerMode(const CfgEntry *entry)
+{
+    // Manipulator
+    if (!(cfg().allMutators || cfg().mutators.contains(entry->name))) {
+        return;
+    }
+
+    stream() << "void " << setFunction(entry->name, cfg().className) << "( ";
+    if (!entry->param.isEmpty()) {
+        stream() << cppType(entry->paramType) << " i, ";
+    }
+
+    if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+        stream() << enumType(entry, cfg().globalEnums);
+    } else {
+        stream() << param(entry->type);
+    }
+    stream() << " v )\n";
+
+    // function body inline only if not using dpointer
+    // for BC mode
+    startScope();
+    memberMutatorBody(entry);
+    endScope();
+    stream() << '\n';
+}
+
+void KConfigSourceGenerator::createItemGetterDPointerMode(const CfgEntry *entry)
+{
+    // Item accessor
+    if (!cfg().itemAccessors) {
+        return;
+    }
+    stream() << '\n';
+    stream() << cfg().inherits << "::Item" << itemType(entry->type) << " *" << getFunction(entry->name, cfg().className) << "Item(";
+    if (!entry->param.isEmpty()) {
+        stream() << " " << cppType(entry->paramType) << " i ";
+    }
+    stream() << ")\n";
+    startScope();
+    stream() << "  " << itemAccessorBody(entry, cfg());
+    endScope();
+}
+
+void KConfigSourceGenerator::doGetterSetterDPointerMode()
+{
+    if (!cfg().dpointer) {
+        return;
+    }
+
+    // setters and getters go in Cpp if in dpointer mode
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        createSetterDPointerMode(entry);
+        createGetterDPointerMode(entry);
+        createImmutableGetterDPointerMode(entry);
+        createItemGetterDPointerMode(entry);
+        stream() << '\n';
+    }
+}
+
+void KConfigSourceGenerator::createDefaultValueGetterSetter()
+{
+    // default value getters always go in Cpp
+    for (const auto *entry : std::as_const(parseResult.entries)) {
+        QString n = entry->name;
+        QString t = entry->type;
+
+        // Default value Accessor, as "helper" function
+        if ((cfg().allDefaultGetters || cfg().defaultGetters.contains(n)) && !entry->defaultValue.isEmpty()) {
+            stream() << cppType(t) << " " << getDefaultFunction(n, cfg().className) << "_helper(";
+            if (!entry->param.isEmpty()) {
+                stream() << " " << cppType(entry->paramType) << " i ";
+            }
+            stream() << ")" << Const() << '\n';
+            startScope();
+            stream() << memberGetDefaultBody(entry) << '\n';
+            endScope();
+            stream() << '\n';
+        }
+    }
+}
+
+void KConfigSourceGenerator::createDestructor()
+{
+    stream() << cfg().className << "::~" << cfg().className << "()\n";
+    startScope();
+    if (cfg().dpointer) {
+        stream() << "  delete d;\n";
+    }
+    if (cfg().singleton) {
+        const QString qgs = QLatin1String("s_global") + cfg().className;
+        stream() << "  if (" << qgs << ".exists() && !" << qgs << ".isDestroyed()) {\n";
+        stream() << "    " << qgs << "()->q = nullptr;\n";
+        stream() << "  }\n";
+    }
+    endScope();
+    stream() << '\n';
+}
+
+void KConfigSourceGenerator::createNonModifyingSignalsHelper()
+{
+    if (!parseResult.hasNonModifySignals) {
+        return;
+    }
+    stream() << "bool " << cfg().className << "::"
+             << "usrSave()\n";
+    startScope();
+    stream() << "  const bool res = " << cfg().inherits << "::usrSave();\n";
+    stream() << "  if (!res) return false;\n\n";
+    for (const Signal &signal : std::as_const(parseResult.signalList)) {
+        if (signal.modify) {
+            continue;
+        }
+
+        stream() << "  if (" << varPath(QStringLiteral("settingsChanged"), cfg()) << ".contains(" << signalEnumName(signal.name) << "))\n";
+        stream() << "    Q_EMIT " << signal.name << "(";
+        auto it = signal.arguments.cbegin();
+        const auto itEnd = signal.arguments.cend();
+        while (it != itEnd) {
+            Param argument = *it;
+            bool cast = false;
+            if (cfg().useEnumTypes && argument.type == QLatin1String("Enum")) {
+                for (int i = 0, end = parseResult.entries.count(); i < end; ++i) {
+                    if (parseResult.entries.at(i)->name == argument.name) {
+                        stream() << "static_cast<" << enumType(parseResult.entries.at(i), cfg().globalEnums) << ">(";
+                        cast = true;
+                        break;
+                    }
+                }
+            }
+            stream() << varPath(argument.name, cfg());
+            if (cast) {
+                stream() << ")";
+            }
+            if (++it != itEnd) {
+                stream() << ", ";
+            }
+        }
+
+        stream() << ");\n";
+    }
+
+    stream() << "  " << varPath(QStringLiteral("settingsChanged"), cfg()) << ".clear();\n";
+    stream() << "  return true;\n";
+    endScope();
+}
+
+void KConfigSourceGenerator::createSignalFlagsHandler()
+{
+    if (parseResult.signalList.isEmpty()) {
+        return;
+    }
+
+    stream() << '\n';
+    stream() << "void " << cfg().className << "::"
+             << "itemChanged(quint64 signalFlag) {\n";
+    if (parseResult.hasNonModifySignals) {
+        stream() << "  " << varPath(QStringLiteral("settingsChanged"), cfg()) << ".insert(signalFlag);\n";
+    }
+
+    if (!parseResult.signalList.isEmpty()) {
+        stream() << '\n';
+    }
+
+    bool modifySignalsWritten = false;
+    for (const Signal &signal : std::as_const(parseResult.signalList)) {
+        if (signal.modify) {
+            if (!modifySignalsWritten) {
+                stream() << "  switch (signalFlag) {\n";
+                modifySignalsWritten = true;
+            }
+            stream() << "  case " << signalEnumName(signal.name) << ":\n";
+            stream() << "    Q_EMIT " << signal.name << "();\n";
+            stream() << "    break;\n";
+        }
+    }
+    if (modifySignalsWritten) {
+        stream() << "  }\n";
+    }
+
+    stream() << "}\n";
+}
diff --git a/src/kconfig_compiler/KConfigSourceGenerator.h b/src/kconfig_compiler/KConfigSourceGenerator.h
new file mode 100644 (file)
index 0000000..9e99f3f
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGSOURCEGENERATOR_H
+#define KCONFIGSOURCEGENERATOR_H
+
+#include "KConfigCodeGeneratorBase.h"
+#include "KConfigCommonStructs.h"
+
+#include <QList>
+#include <QString>
+
+class KConfigParameters;
+class CfgEntry;
+class QTextStream;
+struct ParseResult;
+
+class KConfigSourceGenerator : public KConfigCodeGeneratorBase
+{
+public:
+    KConfigSourceGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &parameters, ParseResult &parseResult);
+
+    void start() override;
+
+private:
+    // Those are fairly self contained functions.
+    void createHeaders();
+    void createPrivateDPointerImplementation();
+    void createSingletonImplementation();
+    void createPreamble();
+    void createDestructor();
+    void createConstructorParameterList();
+    void createParentConstructorCall();
+    void createInitializerList();
+    void createDefaultValueGetterSetter();
+    void createNonModifyingSignalsHelper();
+    void createSignalFlagsHandler();
+
+    // Constructor related methods
+    // the `do` methods have related helper functions that are only related
+    // to it. So we can break the function into many smaller ones and create
+    // logic inside of the `do` function.
+    void doConstructor();
+    void createEnums(const CfgEntry *entry);
+    void createNormalEntry(const CfgEntry *entry, const QString &key);
+    void createIndexedEntry(const CfgEntry *entry, const QString &key);
+    void handleCurrentGroupChange(const CfgEntry *entry);
+
+    void doGetterSetterDPointerMode();
+    void createGetterDPointerMode(const CfgEntry *entry);
+    void createImmutableGetterDPointerMode(const CfgEntry *entry);
+    void createSetterDPointerMode(const CfgEntry *entry);
+    void createItemGetterDPointerMode(const CfgEntry *entry);
+
+private:
+    QString mCurrentGroup;
+    QStringList mConfigGroupList; // keeps track of generated KConfigGroup;
+};
+
+#endif
diff --git a/src/kconfig_compiler/KConfigXmlParser.cpp b/src/kconfig_compiler/KConfigXmlParser.cpp
new file mode 100644 (file)
index 0000000..4a4cec7
--- /dev/null
@@ -0,0 +1,564 @@
+/*
+    This file is part of the KDE libraries
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigXmlParser.h"
+
+#include <QDebug>
+#include <QDomAttr>
+#include <QDomElement>
+#include <QDomNode>
+#include <QFile>
+#include <QList>
+#include <QStringList>
+#include <QTextStream>
+#include <iostream>
+// TODO: Move preprocessDefault to Header / CPP implementation.
+// it makes no sense for a parser to process those values and generate code.
+
+static void preProcessDefault(QString &defaultValue,
+                              const QString &name,
+                              const QString &type,
+                              const CfgEntry::Choices &cfgChoices,
+                              QString &code,
+                              const KConfigParameters &cfg)
+{
+    if (type == QLatin1String("String") && !defaultValue.isEmpty()) {
+        defaultValue = literalString(defaultValue);
+
+    } else if (type == QLatin1String("Path") && !defaultValue.isEmpty()) {
+        defaultValue = literalString(defaultValue);
+    } else if (type == QLatin1String("Url") && !defaultValue.isEmpty()) {
+        // Use fromUserInput in order to support absolute paths and absolute urls, like KDE4's KUrl(QString) did.
+        defaultValue = QLatin1String("QUrl::fromUserInput( %1)").arg(literalString(defaultValue));
+    } else if ((type == QLatin1String("UrlList") || type == QLatin1String("StringList") || type == QLatin1String("PathList")) && !defaultValue.isEmpty()) {
+        QTextStream cpp(&code, QIODevice::WriteOnly | QIODevice::Append);
+        if (!code.isEmpty()) {
+            cpp << '\n';
+        }
+
+        if (type == QLatin1String("UrlList")) {
+            cpp << "  QList<QUrl> default" << name << ";\n";
+        } else {
+            cpp << "  QStringList default" << name << ";\n";
+        }
+        const QStringList defaults = defaultValue.split(QLatin1Char(','));
+        for (const auto &val : defaults) {
+            cpp << "  default" << name << ".append( ";
+            if (type == QLatin1String("UrlList")) {
+                cpp << "QUrl::fromUserInput(";
+            }
+            cpp << "QString::fromUtf8( \"" << val << "\" ) ";
+            if (type == QLatin1String("UrlList")) {
+                cpp << ") ";
+            }
+            cpp << ");\n";
+        }
+        defaultValue = QLatin1String("default") + name;
+
+    } else if (type == QLatin1String("Color") && !defaultValue.isEmpty()) {
+        static const QRegularExpression colorRe(QRegularExpression::anchoredPattern(QStringLiteral("\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+)?")));
+
+        if (colorRe.match(defaultValue).hasMatch()) {
+            defaultValue = QLatin1String("QColor( %1 )").arg(defaultValue);
+        } else {
+            defaultValue = QLatin1String("QColor( \"%1\" )").arg(defaultValue);
+        }
+
+    } else if (type == QLatin1String("Enum")) {
+        for (const auto &choice : cfgChoices.choices) {
+            if (choice.name == defaultValue) {
+                if (cfg.globalEnums && cfgChoices.name().isEmpty()) {
+                    defaultValue.prepend(cfgChoices.prefix);
+                } else {
+                    defaultValue.prepend(enumTypeQualifier(name, cfgChoices) + cfgChoices.prefix);
+                }
+                break;
+            }
+        }
+
+    } else if (type == QLatin1String("IntList")) {
+        QTextStream cpp(&code, QIODevice::WriteOnly | QIODevice::Append);
+        if (!code.isEmpty()) {
+            cpp << '\n';
+        }
+
+        cpp << "  QList<int> default" << name << ";\n";
+        if (!defaultValue.isEmpty()) {
+            const QStringList defaults = defaultValue.split(QLatin1Char(','));
+            for (const auto &defaultVal : defaults) {
+                cpp << "  default" << name << ".append( " << defaultVal << " );\n";
+            }
+        }
+        defaultValue = QLatin1String("default") + name;
+    }
+}
+
+static QString dumpNode(const QDomNode &node)
+{
+    QString msg;
+    QTextStream s(&msg, QIODevice::WriteOnly);
+    node.save(s, 0);
+
+    msg = msg.simplified();
+    if (msg.length() > 40) {
+        return msg.left(37) + QLatin1String("...");
+    }
+    return msg;
+}
+
+void KConfigXmlParser::readParameterFromEntry(CfgEntry &readEntry, const QDomElement &e)
+{
+    readEntry.param = e.attribute(QStringLiteral("name"));
+    readEntry.paramType = e.attribute(QStringLiteral("type"));
+
+    if (readEntry.param.isEmpty()) {
+        std::cerr << "Parameter must have a name: " << qPrintable(dumpNode(e)) << std::endl;
+        exit(1);
+    }
+
+    if (readEntry.paramType.isEmpty()) {
+        std::cerr << "Parameter must have a type: " << qPrintable(dumpNode(e)) << std::endl;
+        exit(1);
+    }
+
+    if ((readEntry.paramType == QLatin1String("Int")) || (readEntry.paramType == QLatin1String("UInt"))) {
+        bool ok;
+        readEntry.paramMax = e.attribute(QStringLiteral("max")).toInt(&ok);
+        if (!ok) {
+            std::cerr << "Integer parameter must have a maximum (e.g. max=\"0\"): " << qPrintable(dumpNode(e)) << std::endl;
+            exit(1);
+        }
+    } else if (readEntry.paramType == QLatin1String("Enum")) {
+        for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+            if (e2.tagName() == QLatin1String("values")) {
+                for (QDomElement e3 = e2.firstChildElement(); !e3.isNull(); e3 = e3.nextSiblingElement()) {
+                    if (e3.tagName() == QLatin1String("value")) {
+                        readEntry.paramValues.append(e3.text());
+                    }
+                }
+                break;
+            }
+        }
+        if (readEntry.paramValues.isEmpty()) {
+            std::cerr << "No values specified for parameter '" << qPrintable(readEntry.param) << "'." << std::endl;
+            exit(1);
+        }
+        readEntry.paramMax = readEntry.paramValues.count() - 1;
+    } else {
+        std::cerr << "Parameter '" << qPrintable(readEntry.param) << "' has type " << qPrintable(readEntry.paramType)
+                  << " but must be of type int, uint or Enum." << std::endl;
+        exit(1);
+    }
+}
+
+bool KConfigXmlParser::hasDefaultCode(CfgEntry &readEntry, const QDomElement &element)
+{
+    Q_UNUSED(readEntry)
+
+    for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+        if (e.attribute(QStringLiteral("param")).isEmpty()) {
+            if (e.attribute(QStringLiteral("code")) == QLatin1String("true")) {
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
+void KConfigXmlParser::readChoicesFromEntry(CfgEntry &readEntry, const QDomElement &e)
+{
+    QList<CfgEntry::Choice> chlist;
+    const auto choiceNameRegex = QRegularExpression(QStringLiteral("\\w+"));
+
+    for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+        if (e2.tagName() != QLatin1String("choice")) {
+            continue;
+        }
+        CfgEntry::Choice choice;
+        choice.name = e2.attribute(QStringLiteral("name"));
+        if (choice.name.isEmpty()) {
+            std::cerr << "Tag <choice> requires attribute 'name'." << std::endl;
+        } else if (!choiceNameRegex.match(choice.name).hasMatch()) {
+            std::cerr << "Tag <choice> attribute 'name' must be compatible with Enum naming. name was '" << qPrintable(choice.name)
+                      << "'. You can use attribute 'value' to pass any string as the choice value." << std::endl;
+        }
+        choice.val = e2.attribute(QStringLiteral("value"));
+        for (QDomElement e3 = e2.firstChildElement(); !e3.isNull(); e3 = e3.nextSiblingElement()) {
+            if (e3.tagName() == QLatin1String("label")) {
+                choice.label = e3.text();
+                choice.context = e3.attribute(QStringLiteral("context"));
+            }
+            if (e3.tagName() == QLatin1String("tooltip")) {
+                choice.toolTip = e3.text();
+                choice.context = e3.attribute(QStringLiteral("context"));
+            }
+            if (e3.tagName() == QLatin1String("whatsthis")) {
+                choice.whatsThis = e3.text();
+                choice.context = e3.attribute(QStringLiteral("context"));
+            }
+        }
+        chlist.append(choice);
+    }
+
+    QString name = e.attribute(QStringLiteral("name"));
+    QString prefix = e.attribute(QStringLiteral("prefix"));
+
+    readEntry.choices = CfgEntry::Choices(chlist, name, prefix);
+}
+
+void KConfigXmlParser::readGroupElements(CfgEntry &readEntry, const QDomElement &element)
+{
+    for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+        QString tag = e.tagName();
+        if (tag == QLatin1String("label")) {
+            readEntry.label = e.text();
+            readEntry.labelContext = e.attribute(QStringLiteral("context"));
+        } else if (tag == QLatin1String("tooltip")) {
+            readEntry.toolTip = e.text();
+            readEntry.toolTipContext = e.attribute(QStringLiteral("context"));
+        } else if (tag == QLatin1String("whatsthis")) {
+            readEntry.whatsThis = e.text();
+            readEntry.whatsThisContext = e.attribute(QStringLiteral("context"));
+        } else if (tag == QLatin1String("min")) {
+            readEntry.min = e.text();
+        } else if (tag == QLatin1String("max")) {
+            readEntry.max = e.text();
+        } else if (tag == QLatin1String("code")) {
+            readEntry.code = e.text();
+        } else if (tag == QLatin1String("parameter")) {
+            readParameterFromEntry(readEntry, e);
+        } else if (tag == QLatin1String("default")) {
+            if (e.attribute(QStringLiteral("param")).isEmpty()) {
+                readEntry.defaultValue = e.text();
+            }
+        } else if (tag == QLatin1String("choices")) {
+            readChoicesFromEntry(readEntry, e);
+        } else if (tag == QLatin1String("emit")) {
+            Signal signal;
+            signal.name = e.attribute(QStringLiteral("signal"));
+            readEntry.signalList.append(signal);
+        }
+    }
+}
+
+void KConfigXmlParser::createChangedSignal(CfgEntry &readEntry)
+{
+    if (cfg.generateProperties && (cfg.allMutators || cfg.mutators.contains(readEntry.name))) {
+        Signal s;
+        s.name = changeSignalName(readEntry.name);
+        s.modify = true;
+        readEntry.signalList.append(s);
+    }
+}
+
+void KConfigXmlParser::validateNameAndKey(CfgEntry &readEntry, const QDomElement &element)
+{
+    bool nameIsEmpty = readEntry.name.isEmpty();
+    if (nameIsEmpty && readEntry.key.isEmpty()) {
+        std::cerr << "Entry must have a name or a key: " << qPrintable(dumpNode(element)) << std::endl;
+        exit(1);
+    }
+
+    if (readEntry.key.isEmpty()) {
+        readEntry.key = readEntry.name;
+    }
+
+    if (nameIsEmpty) {
+        readEntry.name = readEntry.key;
+        readEntry.name.remove(QLatin1Char(' '));
+    } else if (readEntry.name.contains(QLatin1Char(' '))) {
+        std::cout << "Entry '" << qPrintable(readEntry.name) << "' contains spaces! <name> elements can not contain spaces!" << std::endl;
+        readEntry.name.remove(QLatin1Char(' '));
+    }
+
+    if (readEntry.name.contains(QStringLiteral("$("))) {
+        if (readEntry.param.isEmpty()) {
+            std::cerr << "Name may not be parameterized: " << qPrintable(readEntry.name) << std::endl;
+            exit(1);
+        }
+    } else {
+        if (!readEntry.param.isEmpty()) {
+            std::cerr << "Name must contain '$(" << qPrintable(readEntry.param) << ")': " << qPrintable(readEntry.name) << std::endl;
+            exit(1);
+        }
+    }
+}
+
+void KConfigXmlParser::readParamDefaultValues(CfgEntry &readEntry, const QDomElement &element)
+{
+    if (readEntry.param.isEmpty()) {
+        return;
+    }
+    // Adjust name
+    readEntry.paramName = readEntry.name;
+
+    readEntry.name.remove(QStringLiteral("$(") + readEntry.param + QLatin1Char(')'));
+    // Lookup defaults for indexed entries
+    for (int i = 0; i <= readEntry.paramMax; i++) {
+        readEntry.paramDefaultValues.append(QString());
+    }
+
+    for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+        QString tag = e.tagName();
+        if (tag != QLatin1String("default")) {
+            continue;
+        }
+        QString index = e.attribute(QStringLiteral("param"));
+        if (index.isEmpty()) {
+            continue;
+        }
+
+        bool ok;
+        int i = index.toInt(&ok);
+        if (!ok) {
+            i = readEntry.paramValues.indexOf(index);
+            if (i == -1) {
+                std::cerr << "Index '" << qPrintable(index) << "' for default value is unknown." << std::endl;
+                exit(1);
+            }
+        }
+
+        if ((i < 0) || (i > readEntry.paramMax)) {
+            std::cerr << "Index '" << i << "' for default value is out of range [0, " << readEntry.paramMax << "]." << std::endl;
+            exit(1);
+        }
+
+        QString tmpDefaultValue = e.text();
+
+        if (e.attribute(QStringLiteral("code")) != QLatin1String("true")) {
+            preProcessDefault(tmpDefaultValue, readEntry.name, readEntry.type, readEntry.choices, readEntry.code, cfg);
+        }
+
+        readEntry.paramDefaultValues[i] = tmpDefaultValue;
+    }
+}
+
+CfgEntry *KConfigXmlParser::parseEntry(const QString &group, const QString &parentGroup, const QDomElement &element)
+{
+    CfgEntry readEntry;
+    readEntry.type = element.attribute(QStringLiteral("type"));
+    readEntry.name = element.attribute(QStringLiteral("name"));
+    readEntry.key = element.attribute(QStringLiteral("key"));
+    readEntry.hidden = element.attribute(QStringLiteral("hidden")) == QLatin1String("true");
+    ;
+    readEntry.group = group;
+    readEntry.parentGroup = parentGroup;
+
+    const bool nameIsEmpty = readEntry.name.isEmpty();
+
+    readGroupElements(readEntry, element);
+
+    validateNameAndKey(readEntry, element);
+
+    if (readEntry.label.isEmpty()) {
+        readEntry.label = readEntry.key;
+    }
+
+    if (readEntry.type.isEmpty()) {
+        readEntry.type = QStringLiteral("String"); // XXX : implicit type might be bad
+    }
+
+    readParamDefaultValues(readEntry, element);
+
+    if (!mValidNameRegexp.match(readEntry.name).hasMatch()) {
+        if (nameIsEmpty) {
+            std::cerr << "The key '" << qPrintable(readEntry.key)
+                      << "' can not be used as name for the entry because "
+                         "it is not a valid name. You need to specify a valid name for this entry."
+                      << std::endl;
+        } else {
+            std::cerr << "The name '" << qPrintable(readEntry.name) << "' is not a valid name for an entry." << std::endl;
+        }
+        exit(1);
+    }
+
+    if (mAllNames.contains(readEntry.name)) {
+        if (nameIsEmpty) {
+            std::cerr << "The key '" << qPrintable(readEntry.key)
+                      << "' can not be used as name for the entry because "
+                         "it does not result in a unique name. You need to specify a unique name for this entry."
+                      << std::endl;
+        } else {
+            std::cerr << "The name '" << qPrintable(readEntry.name) << "' is not unique." << std::endl;
+        }
+        exit(1);
+    }
+
+    mAllNames.append(readEntry.name);
+
+    if (!hasDefaultCode(readEntry, element)) {
+        // TODO: Move all the options to CfgEntry.
+        preProcessDefault(readEntry.defaultValue, readEntry.name, readEntry.type, readEntry.choices, readEntry.code, cfg);
+    }
+
+    // TODO: Try to Just return the CfgEntry we populated instead of
+    // creating another one to fill the code.
+    CfgEntry *result = new CfgEntry();
+    result->group = readEntry.group;
+    result->parentGroup = readEntry.parentGroup;
+    result->type = readEntry.type;
+    result->key = readEntry.key;
+    result->name = readEntry.name;
+    result->labelContext = readEntry.labelContext;
+    result->label = readEntry.label;
+    result->toolTipContext = readEntry.toolTipContext;
+    result->toolTip = readEntry.toolTip;
+    result->whatsThisContext = readEntry.whatsThisContext;
+    result->whatsThis = readEntry.whatsThis;
+    result->code = readEntry.code;
+    result->defaultValue = readEntry.defaultValue;
+    result->choices = readEntry.choices;
+    result->signalList = readEntry.signalList;
+    result->hidden = readEntry.hidden;
+
+    if (!readEntry.param.isEmpty()) {
+        result->param = readEntry.param;
+        result->paramName = readEntry.paramName;
+        result->paramType = readEntry.paramType;
+        result->paramValues = readEntry.paramValues;
+        result->paramDefaultValues = readEntry.paramDefaultValues;
+        result->paramMax = readEntry.paramMax;
+    }
+    result->min = readEntry.min;
+    result->max = readEntry.max;
+    createChangedSignal(*result);
+
+    return result;
+}
+
+// TODO: Change the name of the config variable.
+KConfigXmlParser::KConfigXmlParser(const KConfigParameters &cfg, const QString &inputFileName)
+    : cfg(cfg)
+    , mInputFileName(inputFileName)
+{
+    mValidNameRegexp.setPattern(QRegularExpression::anchoredPattern(QStringLiteral("[a-zA-Z_][a-zA-Z0-9_]*")));
+}
+
+void KConfigXmlParser::start()
+{
+    QFile input(mInputFileName);
+    if (!input.open(QIODevice::ReadOnly)) {
+        qFatal("Could not open input file: %s", qUtf8Printable(mInputFileName));
+    }
+    QDomDocument doc;
+    const QDomDocument::ParseResult parseResult = doc.setContent(&input);
+    if (!parseResult) {
+        std::cerr << "Unable to load document." << std::endl;
+        std::cerr << "Parse error in " << qPrintable(mInputFileName) << ", line " << parseResult.errorLine << ", col " << parseResult.errorColumn << ": "
+                  << qPrintable(parseResult.errorMessage) << std::endl;
+        exit(1);
+    }
+
+    QDomElement cfgElement = doc.documentElement();
+    if (cfgElement.isNull()) {
+        std::cerr << "No document in kcfg file" << std::endl;
+        exit(1);
+    }
+
+    for (QDomElement element = cfgElement.firstChildElement(); !element.isNull(); element = element.nextSiblingElement()) {
+        QString tag = element.tagName();
+
+        if (tag == QLatin1String("include")) {
+            readIncludeTag(element);
+        } else if (tag == QLatin1String("kcfgfile")) {
+            readKcfgfileTag(element);
+        } else if (tag == QLatin1String("group")) {
+            readGroupTag(element);
+        } else if (tag == QLatin1String("signal")) {
+            readSignalTag(element);
+        }
+    }
+}
+
+ParseResult KConfigXmlParser::getParseResult() const
+{
+    return mParseResult;
+}
+
+void KConfigXmlParser::readIncludeTag(const QDomElement &e)
+{
+    QString includeFile = e.text();
+    if (!includeFile.isEmpty()) {
+        mParseResult.includes.append(includeFile);
+    }
+}
+
+void KConfigXmlParser::readGroupTag(const QDomElement &e)
+{
+    QString group = e.attribute(QStringLiteral("name"));
+    if (group.isEmpty()) {
+        std::cerr << "Group without name" << std::endl;
+        exit(1);
+    }
+
+    const QString parentGroup = e.attribute(QStringLiteral("parentGroupName"));
+
+    for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+        if (e2.tagName() != QLatin1String("entry")) {
+            continue;
+        }
+        CfgEntry *entry = parseEntry(group, parentGroup, e2);
+        if (entry) {
+            mParseResult.entries.append(entry);
+        } else {
+            std::cerr << "Can not parse entry." << std::endl;
+            exit(1);
+        }
+    }
+}
+
+void KConfigXmlParser::readKcfgfileTag(const QDomElement &e)
+{
+    mParseResult.cfgFileName = e.attribute(QStringLiteral("name"));
+    mParseResult.cfgStateConfig = e.attribute(QStringLiteral("stateConfig")).toLower() == QLatin1String("true");
+    mParseResult.cfgFileNameArg = e.attribute(QStringLiteral("arg")).toLower() == QLatin1String("true");
+    for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+        if (e2.tagName() == QLatin1String("parameter")) {
+            Param p;
+            p.name = e2.attribute(QStringLiteral("name"));
+            p.type = e2.attribute(QStringLiteral("type"));
+            if (p.type.isEmpty()) {
+                p.type = QStringLiteral("String");
+            }
+            mParseResult.parameters.append(p);
+        }
+    }
+}
+
+void KConfigXmlParser::readSignalTag(const QDomElement &e)
+{
+    QString signalName = e.attribute(QStringLiteral("name"));
+    if (signalName.isEmpty()) {
+        std::cerr << "Signal without name." << std::endl;
+        exit(1);
+    }
+    Signal theSignal;
+    theSignal.name = signalName;
+
+    for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+        if (e2.tagName() == QLatin1String("argument")) {
+            Param argument;
+            argument.type = e2.attribute(QStringLiteral("type"));
+            if (argument.type.isEmpty()) {
+                std::cerr << "Signal argument without type." << std::endl;
+                exit(1);
+            }
+            argument.name = e2.text();
+            theSignal.arguments.append(argument);
+        } else if (e2.tagName() == QLatin1String("label")) {
+            theSignal.label = e2.text();
+        }
+    }
+
+    mParseResult.signalList.append(theSignal);
+}
diff --git a/src/kconfig_compiler/KConfigXmlParser.h b/src/kconfig_compiler/KConfigXmlParser.h
new file mode 100644 (file)
index 0000000..58c2ed5
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+    This file is part of the KDE libraries
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+    SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGXMLPARSER_H
+#define KCONFIGXMLPARSER_H
+
+#include <QDomDocument>
+#include <QRegularExpression>
+#include <QString>
+
+#include "KConfigCommonStructs.h"
+#include "KConfigParameters.h"
+
+/* This parses the contents of a Xml file into a ParseResult Structure,
+ * It also fails hard:
+ * If start() succeeds, you can use the result,
+ * if start() fails, the program aborts with an error message so there's
+ * no possibility of generating incorrect code information.
+ */
+class KConfigXmlParser
+{
+public:
+    KConfigXmlParser(const KConfigParameters &cfg, const QString &inputFileName);
+
+    // Start the parser and reads the contents of the inputFileName into the ParseResult Structure
+    void start();
+
+    // Get the result of the parse
+    ParseResult getParseResult() const;
+
+private:
+    // creates a `somethingChanged` signal for every property
+    void createChangedSignal(CfgEntry &readEntry);
+
+    void validateNameAndKey(CfgEntry &readEntry, const QDomElement &element);
+
+    // TODO: Use std::optional and CfgEntry (without heap allocation) for this function
+    // *or* fail hard if the parse fails.
+    CfgEntry *parseEntry(const QString &group, const QString &parentGroup, const QDomElement &element);
+
+    // Steps
+    void readIncludeTag(const QDomElement &element);
+    void readGroupTag(const QDomElement &element);
+    void readKcfgfileTag(const QDomElement &element);
+    void readSignalTag(const QDomElement &element);
+
+    // Those are the Entries in the Xml, that represent a parameter within the <group> </group> tag.
+    void readParameterFromEntry(CfgEntry &entry, const QDomElement &element);
+    bool hasDefaultCode(CfgEntry &entry, const QDomElement &element);
+    void readChoicesFromEntry(CfgEntry &entry, const QDomElement &element);
+    void readGroupElements(CfgEntry &entry, const QDomElement &element);
+    void readParamDefaultValues(CfgEntry &entry, const QDomElement &element);
+
+private:
+    ParseResult mParseResult;
+    KConfigParameters cfg;
+    QString mInputFileName;
+    QStringList mAllNames;
+    QRegularExpression mValidNameRegexp;
+};
+
+#endif
diff --git a/src/kconfig_compiler/README.dox b/src/kconfig_compiler/README.dox
new file mode 100644 (file)
index 0000000..1081158
--- /dev/null
@@ -0,0 +1,560 @@
+/**
+\page kconfig_compiler The KDE Configuration Compiler
+
+kconfig_compiler generates C++ source code from an XML file containing
+information about configuration options (.kcfg) and a file that provides
+the code generation options (.kcfgc) The generated class is based on
+KConfigSkeleton and provides an API for the application to access its
+configuration data.
+
+The generated C++ source code is output to a .h and a .cpp file, whose base
+name is the same as that of the .kcfgc file.
+
+\section kcfg_format The .kcfg XML file format: description of the configuration skeleton
+
+The structure of the .kcfg file is described by its DTD kcfg.xsd.
+
+The \<kcfgfile\> tag may contain either the "name" attribute, which should be the name
+of the configuration file described, or the "arg" attribute, which, if set to
+"true", will allow you to pass the KSharedConfig::Ptr object to use.
+
+If neither "name" nor "arg" is set, the default configuration file
+("\<appname\>rc") will be used.
+
+The \<include\> tags are optional and may contain C++ header files that
+are needed to compile the code needed to compute default values. To generate
+a \#include "..." statement instead of \#include \<...\>, enclose the header
+file name in double quotes (e.g. \<include\>"header.h"\</include\>).
+
+The remaining entries in the XML file are grouped by the tag \<group\>
+which describes the corresponding group in the configuration file.
+
+The individual entries must have at least a name or a key. The key is used
+as the key in the config file, while the name is used to create accessor and
+modifier functions. If \<key\> is given, but not \<name\>, the name is
+constructed by removing all spaces from \<key\>. If \<name\> is given, but
+not \<key\>, the key is the same as \<name\>.
+
+An entry must also have a type. The list of allowable types is
+specified in the DTD and loosely follows the list of types supported
+by the QVariant with exception of the clearly binary types
+(e.g. Pixmap, Image...) which are not supported. Besides those basic
+types the following special types are supported:
+
+<dl>
+  <dt>Path</dt>
+  <dd>
+    This is a string that is specially treated as a file-path.
+    In particular paths in the home directory are prefixed with $HOME in
+    when being stored in the configuration file.
+  </dd>
+
+  <dt>Enum</dt>
+  <dd>
+    This indicates an enumeration. The possible enum values and optional
+    enum name should be provided via the \<choices\> tag. Enum values are
+    accessed as integers by the application but stored as strings in the
+    configuration file. This makes it possible to add more values at a later
+    date without breaking compatibility.
+  </dd>
+
+  <dt>IntList</dt>
+  <dd>
+    This indicates a list of integers. This information is provided
+    to the application as QList<int>. Useful for storing QSplitter
+    geometries.
+  </dd>
+
+  <dt>Color</dt>
+  <dd>
+    Isn't a special type but has special input. It is generated as QColor.
+    Any valid input to QColor(QString) can be used (hex or SVG keyword notation)
+    as well as a special format r,g,b,a where the a denotes the alpha channel and
+    may be omitted.
+  </dd>
+</dl>
+
+An entry can optionally have a default value which is used as default when
+the value isn't specified in any config file. Default values are interpreted
+as literal constant values. If a default value needs to be computed
+or if it needs to be obtained from a function call, the \<default\> tag
+should contain the code="true" attribute. The contents of the \<default\>
+tag is then considered to be a C++ expression. Note that in this case you
+might have to add an \<include\> tag as described above, or a
+SourceIncludeFiles entry in the .kcfgc file as described below, so that the
+code which computes the default value can be compiled.
+
+Additional code for computing default values can be provided outside any
+entry definition via the \<code\> tag. The contents of the \<code\> tag is
+inserted as-is. A typical use for this is to compute a common default value
+which can then be referenced by multiple entries that follow.
+
+\section kcfgc_format The .kcfgc file format: code generation options
+
+The options for generating the C++ sources are read from the file with the
+extension .kcfgc. To generate a class add the corresponding kcfgc file to the
+SOURCES line in the Makefile.am.
+
+The following options are read from the kcfgc file:
+
+
+<dl>
+  <dt>File=\<string\></dt>
+  <dd>
+    Default: \<programname\>.kcfg \n
+    Name of kcfg file containing the options the class is generated for
+    <!-- what? -->
+  </dd>
+
+  <dt>HeaderExtension=\<string\></dt>
+  <dd>
+    Default: h \n
+    Since KF 5.57 \n
+    Extension to use for the name of the generated C++ header files.
+  </dd>
+
+  <dt>NameSpace=\<string\></dt>
+  <dd>
+    Optional namespace for generated class
+  </dd>
+
+  <dt>ClassName=\<string\></dt>
+  <dd>
+    Name of generated class (required)
+  </dd>
+
+  <dt>Inherits=\<string\></dt>
+  <dd>
+    Default: KConfigSkeleton \n
+    Class the generated class inherits from.
+
+    This class must inherit KConfigSkeleton and must provide a default
+    constructor (kcfgfile not specified), a constructor taking a
+    QString argument (kcfgfile with "name" attribute) and a constructor
+    taking a KSharedConfig::Ptr as argument (kcfgfile with "arg" attribute).
+    Please refer to the documentation of KConfigSkeleton.
+  </dd>
+
+  <dt>Visibility=\<string\></dt>
+  <dd>
+    Inserts visibility directive (for example KDE_EXPORT) between
+    "class" keyword and class name in header file
+  </dd>
+
+  <dt>Singleton=\<bool\></dt>
+  <dd>
+    Default: false \n
+    Generated class is a singleton.
+  </dd>
+
+  <dt>CustomAdditions=\<bool\></dt>
+  <dd>
+    <!-- what? -->
+  </dd>
+
+  <dt>MemberVariables=\<string\></dt>
+  <dd>
+    Values: public, protected, private, dpointer \n
+    Default: private \n
+    C++ access modifier used for member variables holding the configuration
+    values
+  </dd>
+
+  <dt>IncludeFiles=\<string\>, \<string\> ...</dt>
+  <dd>
+    Names of files to be included in the header of the generated class.
+
+    Enclose a file name in (escaped) double quotes to generate
+    \#include "..." instead of \#include \<...\>.
+  </dd>
+
+  <dt>SourceIncludeFiles=\<string\>, \<string\> ...</dt>
+  <dd>
+    Names of files to be included in the source file of the generated class.
+
+    Enclose a file name in (escaped) double quotes to generate
+    \#include "..." instead of \#include \<...\>.
+  </dd>
+
+  <dt>Mutators=\<value\></dt>
+  <dd>
+    Values: true, false or a comma separated list of options \n
+    Default: false \n
+    If true, mutator functions for all configuration options are generated.
+    If false, no mutator functions are generated. If a list is provided,
+    mutator functions are generated for the options that are listed.
+  </dd>
+
+  <dt>Notifiers=\<value\></dt>
+  <dd>
+    Values: true, false or a comma separated list of options \n
+    Default: false \n
+    If true, entries will be written with the <b>Notify</b> flag enabled,
+    so changes can be detected using <b>KConfigWatcher</b>.
+    If a list is provided, the options that are listed are written with
+    said flag.
+  </dd>
+
+  <dt>DefaultValueGetters=\<value\></dt>
+  <dd>
+    Values: true, false or a comma separated list of options \n
+    Default: false \n
+    If true, functions to return the default value of all configuration options
+    are generated. If false, no default value functions are generated. If a list
+    is provided, default value functions are generated for the options that are listed.
+  </dd>
+
+  <dt>ItemAccessors=\<bool\></dt>
+  <dd>
+    Default: false \n
+    Generate accessor functions for the KConfigSkeletonItem objects
+    corresponding to the configuration options. If <b>SetUserTexts</b> is set,
+    <b>ItemAccessors</b> also has to be set.
+  </dd>
+
+  <dt>SetUserTexts=\<bool\></dt>
+  <dd>
+    Default: false \n
+    Set the label and whatthis texts of the items from the kcfg file.
+    If <b>SetUserTexts</b> is set, <b>ItemAccessors</b> also has to be set.
+  </dd>
+
+  <dt>GlobalEnums=\<bool\></dt>
+  <dd>
+    Default: false \n
+    If set to true all choices of Enum items will be created in the global
+    scope of the generated class. If set to false, each Enum item whose enum is not
+    explicitly named will get its own namespace for its choices.
+  </dd>
+
+  <dt>UseEnumTypes=\<bool\></dt>
+  <dd>
+    Default: false \n
+    If set to true, all Enum items whose enums are named will use enum types for
+    the return value of accessor functions and for the parameter of mutator
+    functions. This eliminates the need to cast accessor return values to the enum
+    type if you want to use the enum type in your own code. If set to false,
+    accessor return values and mutator parameters will be of type int.
+  </dd>
+
+  <dt>ForceStringFilename=\<bool\></dt>
+  <dd>
+    Default: false \n
+    If set to true, forces the first parameter of the generated class
+    to be a QString when using an argument for the filename.
+    This is useful to specify at runtime the filename of the configuration class.
+  </dd>
+
+  <dt>GenerateProperties=\<bool\></dt>
+  <dd>
+    Default: false \n
+    If set to true, a Q_PROPERTY will be generated for each member variable holding a
+    configuration value and the Q_OBJECT macro will be added to the generated class.
+    Note that you will also need to pass the GENERATE_MOC option to the
+    kconfig_add_kcfg_files macro.
+  </dd>
+
+
+  <dt>ParentInConstructor=\<bool\></dt>
+  <dd>
+    Default: false \n
+    If set to true, the generated constructor will take an additional QObject*
+    parameter that will be used as the object's parent.
+    This is useful when working with KQuickAddons::ManagedConfigModule
+    to set it as the parent of the generated class to allow automatic
+    settings discovery and handle the deallocation.
+    Note this parameter is incompatible with <b>Singleton</b> set to true.
+  </dd>
+
+  <dt>TranslationSystem=\<string\></dt>
+  <dd>
+    Default: qt \n
+    Set the translation system for label, tooltip and whatsthis text in generated KConfigSkeleton.
+    Set the value to <b>kde</b> to use the KDE Framework translation system, see KI18n.
+  </dd>
+
+  <dt>TranslationDomain=\<value\></dt>
+  <dd>
+    When <b>TranslationSystem=kde</b> is set, allow to specify the domain in which to look for translations.
+  </dd>
+
+  <dt>QmlRegistration=\<bool></dt>
+  <dd>
+    Default: false\n
+    If set to true the generated code will use the QML_ELEMENT macro to register the type to QML.
+    If Singleton is also true it will be registered as a QML singleton using QML_SINGLETON
+
+  </dd>
+
+</dl>
+
+
+\section entry_options Advanced entry options
+
+There are several possibilities to parameterize entries.
+
+\subsection parametrized_entries Parameterized entries
+
+An entry can be parameterized using a fixed range parameter specified with
+the \<parameter\> tag. Such parameter can either be an Enum or an int. An Enum
+parameter should specify the possible enumeration values with the \<choices\>
+tag. An int parameter should specify its maximum value. Its minimum value
+is always 0.
+
+A parameterized entry is expanded to a number of entries, one for each
+value in the parameter range. The name and key should contain a reference
+to the parameter in the form of $(parameter-name). When expanding the entries
+the $(parameter-name) part is replaced with the value of the parameter.
+In the case of an Enum parameter it is replaced with the name of the
+enumuration value. In the case of an int parameter it is replaced with
+the numeric value of the parameter.
+
+Parameterized entries all share the same default value unless different
+default values have been specified for specific parameter values.
+This can be done with the param= attribute of the \<default\>. When a
+param attribute is specified the default value only applies to that
+particular parameter value.
+
+Example 1:
+\code{.xml}
+<entry name="Color$(ColorIndex)" type="Color" key="color_$(ColorIndex)">
+  <parameter name="ColorIndex" type="Int" max="3"/>
+  <default param="0">#ff0000</default>
+  <default param="1">#00ff00</default>
+  <default param="2">#0000ff</default>
+  <default param="3">#ffff00</default>
+</entry>
+\endcode
+
+The above describes 4 color configuration entries with the following defaults:
+
+\verbatim
+color_0=#ff0000
+color_1=#00ff00
+color_2=#0000ff
+color_3=#ffff00
+\endverbatim
+
+The configuration options will be accessible to the application via
+a QColor color(int ColorIndex) and a
+void setColor(int ColorIndex, const QColor &v) function.
+
+Example 2:
+\code{.xml}
+<entry name="Sound$(SoundEvent)" type="String" key="sound_$(SoundEvent)">
+  <parameter name="SoundEvent" type="Enum">
+    <values>
+      <value>Explosion</value>
+      <value>Crash</value>
+      <value>Missile</value>
+    </values>
+  </parameter>
+  <default param="Explosion">boom.wav</default>
+  <default param="Crash">crash.wav</default>
+  <default param="Missile">missile.wav</default>
+</entry>
+\endcode
+
+The above describes 3 string configuration entries with the following defaults:
+
+\verbatim
+sound_Explosion=boom.wav
+sound_Crash=crash.wav
+sound_Missile=missile.wav
+\endverbatim
+
+The configuration options will be accessible to the application via
+a QString sound(int SoundEvent) and a
+void setSound(int SoundEvent, const QString &v) function.
+
+\subsection parametrized_groups Parameterized groups
+
+A group name can be parametrized using a parameter given to the KConfigSkeleton
+instance (which means this feature cannot be used with singleton classes).
+
+Example 1:
+\code{.xml}
+<kcfgfile name="testrc">
+  <parameter name="groupname"/>
+</kcfgfile>
+<group name="$(groupname)">
+  <entry key="Text" type="string">
+  </entry>
+</group>
+\endcode
+
+In this case passing "Group2" as the 'groupname' parameter to the generated class
+will make it use group "Group2" for the entry "Text".
+
+By setting the stateConfig attribute of kcfgfile to "true", KSharedConfig::openStateConfig is used.
+This should be used when one stores volatile data, like window sizes or autocompletion texts.
+It is recommended to have at least two separate kcfg files for the different kinds of data.
+NOTE: This option is ignored when ForceStringFilename is set.
+
+\subsection enums Enums
+
+By default, if <b>GlobalEnums</b> is set to false, a separate named enum will be generated
+for each Enum entry. Since each enum is defined in a little enclosing class of its own,
+this allows the same Enum value names to be used in different enums. For example, the
+.kcfg entry
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+  <choices>
+    <choice name="Do"/>
+    <choice name="Dont" value="Don't"/>
+  </choices>
+</entry>
+\endcode
+
+will generate this public class containing the enum definition, inside the generated class:
+
+\code{.cpp}
+class EnumKeepData
+{
+  public:
+  enum type { Do, Dont, COUNT };
+};
+\endcode
+
+Since 5.68, if present the <b>value</b> attribute will be used as the choice value written to the backend
+instead of the <b>name</b>, allowing to write text incompatible with enum naming.
+
+Alternatively, if <b>GlobalEnums</b> is set to true, all Enum items are defined as
+unnamed enums in the global scope of the generated class. In this case, all Enum values
+must have different names to avoid clashes. However, you can use a 'prefix' argument
+in \<choices\> to prevent duplicate enum member names clashing. Using this, the Enum value
+names are prefixed in code with the string you specify. For example, if <b>GlobalEnums</b>
+is set to true, the .kcfg entry
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+  <choices prefix="Keep_">
+    <choice name="Do"/>
+    <choice name="Dont" value="Don't"/>
+  </choices>
+</entry>
+\endcode
+
+will generate config file entries of "KeepData=Do" and "KeepData=Dont", but the enum
+will be declared
+
+\code{.cpp}
+enum { Keep_Do, Keep_Dont };
+\endcode
+
+It is possible to specify your own name for a generated enum, by including a
+'name' parameter in \<choices\>. Just like unnamed enums, this enum will be defined in
+the global scope of the generated class (without any enclosing class of its own).
+Therefore the names of Enum values must be unique across both unnamed enums (if
+<b>GlobalEnums</b> is set to true) and all specifically named enums.
+
+An example of a specifically named enum:
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+  <choices name="Types">
+    <choice name="Do"/>
+    <choice name="Dont"/>
+  </choices>
+</entry>
+\endcode
+
+which results in the following enum declaration, inside the generated class:
+
+\code{.cpp}
+enum Types { Do, Dont };
+\endcode
+
+It is also possible to specify the use of enums external to the generated class, by
+including the string "::" in the enum name - just ensure that it is sufficiently
+qualified to be unambiguous in use. To specify use of an unnamed enum, append a
+trailing "::". For example, to use the enum 'myEnum' defined in class ClassA, use
+either of
+
+\code{.xml}
+<choices name="ClassA::myEnum">
+<choices name="::ClassA::myEnum">
+\endcode
+
+To specify an unnamed enum in namespace ProgSpace, use
+
+\code{.xml}
+<choices name="ProgSpace::">
+\endcode
+
+To specify a top-level unnamed enum, use
+
+\code{.xml}
+<choices name="::">
+\endcode
+
+To specify the top-level enum 'anotherEnum', use
+
+\code{.xml}
+
+<choices name="::anotherEnum">
+\endcode
+
+
+\subsection notify_signals Notify signals
+
+An entry can emit a signal when it gets changed. First of all, you must
+define a list of signals for the configuration class. The signal's name may be
+any legal identifier you wish. The \<argument\> tag allows you to specify arguments
+for the emitted signal. It supports all types as defined in
+the KConfigXT DTD. The argument value must specify the name, without spaces, of one
+of the entries defined in the .kcfg file.
+A signal definition can also contain a \<label\> tag which will be
+the documentation line in the generated file.
+
+\code{.xml}
+<signal name="emoticonSettingsChanged" />
+
+<signal name="styleChanged">
+  <label>Tell when a complete style change.</label>
+  <argument type="String">stylePath</argument>
+  <argument type="String">StyleCSSVariant</argument>
+</signal>
+\endcode
+
+After defining the signals, you must tell which signal to emit for the entry.
+A signal can be emitted by multiple entries. Also, you don't need to specify the arguments
+for a signal, the signal name will suffice.
+
+\code{.xml}
+<entry key="stylePath" type="String">
+  <label>Absolute path to a directory containing a Adium/Kopete chat window style.</label>
+  <emit signal="styleChanged" />
+</entry>
+\endcode
+
+The signal will be emitted when save() is called.
+
+@warning
+You must not call save() in direct response to any notify signal.
+If you need to call save(),
+use a QueuedConnection to listen to the notify signal.
+
+You can also listen to the generic configChanged() signal from KConfigSkeleton to
+notify your application about configuration changes.
+In that case you may also call save() in direct response.
+
+Note that you will also need to pass the GENERATE_MOC option to the kconfig_add_kcfg_files macro.
+
+\subsection translation_context Translation context
+
+In the kcfg file you can specify the translation's context for \<tooltip\>, \<whatsthis\> and \<label\> element for an entry.
+
+\code{.xml}
+<entry type="Bool" key="Auto Save">
+  <label>Enable automatic saving of calendar</label>
+  <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+  <default>false</default>
+</entry>
+\endcode
+
+For more information on translation context and how to write good translatable text,
+please refer to https://api.kde.org/frameworks/ki18n/html/prg_guide.html
+
+*/
diff --git a/src/kconfig_compiler/TODO b/src/kconfig_compiler/TODO
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/kconfig_compiler/checkkcfg.pl b/src/kconfig_compiler/checkkcfg.pl
new file mode 100755 (executable)
index 0000000..27b2833
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/perl
+
+if ( @ARGV < 1 ) {
+  print STDERR "Missing arg: filename\n";
+  exit 1;
+}
+
+$file = $ARGV[0];
+
+$file =~ /^(.*)\.[^\.]*$/;
+$filebase = $1;
+
+$header_extension = @ARGV > 1 ? $ARGV[1] : "h";
+$source_extension = @ARGV > 2 ? $ARGV[2] : "cpp";
+$file_h = "$filebase.$header_extension";
+$file_cpp = "$filebase.$source_extension";
+
+$kcfgc = $file . "c";
+
+$cmd = "./kconfig_compiler_kf6 $file $kcfgc";
+
+#print "CMD $cmd\n";
+
+if ( system( $cmd ) != 0 ) {
+  print STDERR "Unable to run kconfig_compiler_kf6\n";
+  exit 1;
+}
+
+checkfile( $file_h );
+checkfile( $file_cpp );
+
+exit 0;
+
+sub checkfile()
+{
+  my $file = shift;
+
+  $file =~ /\/([^\/]*)$/;
+  my $filename = $1;
+
+  print "Checking '$filename':\n";
+
+  my @ref;
+  if ( !open( REF, "$file.ref" ) ) {
+    print STDERR "Unable to open $file.ref\n";
+    exit 1;
+  }
+  while( <REF> ) {
+    push @ref, $_;
+  }
+  close REF;
+
+  if ( !open( READ, $filename ) ) {
+    print STDERR "Unable to open $filename\n";
+    exit 1;
+  }
+
+  $error = 0;
+  $i = 0;
+  $line = 1;
+  while( <READ> ) {
+    $out = $_;
+    $ref = @ref[$i++];
+
+    if ( $out ne $ref ) {
+      $error++;
+      print "  Line $line: Expected        : $ref";
+      print "  Line $line: Compiler output : $out";
+    }
+    
+    $line++;
+  }
+
+  close READ;
+
+  if ( $error > 0 ) {
+    print "\n  FAILED: $error errors found.\n";
+    if ( $error > 5 ) {
+      system( "diff -u $file.ref $filename" ); 
+    }
+    exit 1;
+  } else {
+    print "  OK\n";
+  }
+}
diff --git a/src/kconfig_compiler/kcfg.xsd b/src/kconfig_compiler/kcfg.xsd
new file mode 100644 (file)
index 0000000..80b1da1
--- /dev/null
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  kcfg XSD v1.0 -->
+<xsd:schema
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+                  xmlns="http://www.kde.org/standards/kcfg/1.0"
+             xmlns:kcfg="http://www.kde.org/standards/kcfg/1.0"
+        targetNamespace="http://www.kde.org/standards/kcfg/1.0"
+        version="1.0"
+        elementFormDefault="qualified" >
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            SPDX-FileCopyrightText: 2003 Cornelius Schumacher &lt;schumacher@kde.org&gt;
+            SPDX-FileCopyrightText: 2003 Waldo Bastian &lt;bastian@kde.org&gt;
+            SPDX-FileCopyrightText: 2003 Zack Rusin &lt;zack@kde.org&gt;
+            SPDX-FileCopyrightText: 2004 Frans Englich &lt;frans.englich@telia.com&gt;
+            SPDX-FileCopyrightText: 2006 Michaël Larouche &lt;michael.larouche@kdemail.net&gt;
+
+            Permission to use, copy, modify and distribute this DTD
+            and its accompanying documentation for any purpose and without fee
+            is hereby granted in perpetuity, provided that the above copyright
+            notice and this paragraph appear in all copies.  The copyright
+            holders make no representation about the suitability of the DTD for
+            any purpose. It is provided "as is" without expressed or implied
+            warranty.
+
+        </xsd:documentation>
+    </xsd:annotation>
+    <xsd:annotation>
+        <xsd:documentation>
+
+            A Schema for KDE's KConfigXT XML format. It is similar to the DTD
+            found at:
+
+            http://www.kde.org/standards/kcfg/1.0/kcfg.dtd
+
+            Documents valid against the Schema version are backwards compatible
+            to the DTD. Validating against the Schema instead of the DTD is
+            recommended, since the former provides better validation.
+
+            A document instance of this Schema should have a declaration
+            looking like this:
+
+            <![CDATA[
+
+                <?xml version="1.0" encoding="UTF-8" ?>
+                <kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+                                          http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+                <!-- the content -->
+                </kcfg>
+
+            ]]>
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:element name="kcfg">
+        <xsd:complexType>
+            <xsd:sequence>
+                <xsd:element name="include" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
+                <xsd:element name="kcfgfile" minOccurs="0" maxOccurs="1" >
+                    <xsd:complexType>
+                        <xsd:sequence>
+                            <xsd:element name="parameter" type="kcfg:parameter" minOccurs="0" maxOccurs="unbounded" />
+                            <!-- FIXME: Are really unbounded occurrences of parameter allowed? -->
+                        </xsd:sequence>
+                        <xsd:attribute name="name" type="xsd:string" use="optional"/>
+                        <xsd:attribute name="stateConfig" type="xsd:boolean" use="optional"/>
+                        <xsd:attribute name="arg" type="xsd:boolean" use="optional"/>
+                    </xsd:complexType>
+                </xsd:element>
+                <xsd:element name="signal" type="kcfg:signal" minOccurs="0" maxOccurs="unbounded" />
+                <xsd:element name="group" maxOccurs="unbounded" >
+                    <xsd:complexType>
+                        <xsd:sequence>
+                            <xsd:element name="entry" maxOccurs="unbounded">
+                                <xsd:complexType>
+                                    <xsd:choice maxOccurs="unbounded">
+                                        <xsd:element name="parameter" minOccurs="0" type="kcfg:parameter"/>
+                                        <xsd:element name="label" minOccurs="0" type="kcfg:translatableString"/>
+                                        <xsd:element name="whatsthis" minOccurs="0" type="kcfg:translatableString"/>
+                                        <xsd:element name="tooltip" minOccurs="0" type="kcfg:translatableString"/>
+                                        <xsd:element name="choices" minOccurs="0">
+                                            <xsd:complexType>
+                                                <xsd:sequence>
+                                                    <xsd:element name="choice" maxOccurs="unbounded">
+                                                        <xsd:complexType>
+                                                            <xsd:all>
+                                                                <xsd:element minOccurs="0" name="label" type="kcfg:translatableString"/>
+                                                                <xsd:element minOccurs="0" name="whatsthis" type="kcfg:translatableString"/>
+                                                                <xsd:element minOccurs="0" name="tooltip" type="kcfg:translatableString"/>
+                                                            </xsd:all>
+                                                            <xsd:attribute name="name" use="required" type="xsd:string"/>
+                                                            <xsd:attribute name="value" use="optional" type="xsd:string"/>
+                                                        </xsd:complexType>
+                                                    </xsd:element>
+                                                </xsd:sequence>
+                                                <xsd:attribute name="name" use="optional" type="xsd:string"/>
+                                                <xsd:attribute name="prefix" use="optional" type="xsd:string"/>
+
+                                            </xsd:complexType>
+                                        </xsd:element>
+
+                                        <xsd:element name="code" minOccurs="0" type="kcfg:code"/>
+
+                                        <xsd:element name="default" maxOccurs="unbounded" minOccurs="0" >
+                                            <xsd:complexType>
+                                                <xsd:simpleContent>
+                                                    <xsd:extension base="xsd:string">
+                                                        <xsd:attribute use="optional" name="code" type="xsd:boolean"/>
+                                                        <xsd:attribute use="optional" name="param" type="xsd:string"/>
+                                                    </xsd:extension>
+                                                </xsd:simpleContent>
+                                            </xsd:complexType>
+                                        </xsd:element>
+
+                                        <xsd:element name="min" minOccurs="0" >
+                                            <xsd:complexType>
+                                                <xsd:simpleContent>
+                                                    <xsd:extension base="xsd:string">
+                                                        <xsd:attribute name="code" type="xsd:boolean"/>
+                                                    </xsd:extension>
+                                                </xsd:simpleContent>
+                                            </xsd:complexType>
+                                        </xsd:element>
+
+                                        <xsd:element name="max" minOccurs="0">
+                                            <xsd:complexType>
+                                                <xsd:simpleContent>
+                                                    <xsd:extension base="xsd:string">
+                                                        <xsd:attribute name="code" type="xsd:boolean"/>
+                                                    </xsd:extension>
+                                                </xsd:simpleContent>
+                                            </xsd:complexType>
+                                        </xsd:element>
+
+                                        <xsd:element name="emit" minOccurs="0">
+                                            <xsd:complexType>
+                                                <xsd:simpleContent>
+                                                    <xsd:extension base="xsd:string">
+                                                        <xsd:attribute name="signal" use="required" type="xsd:string"/>
+                                                    </xsd:extension>
+                                                </xsd:simpleContent>
+                                            </xsd:complexType>
+                                        </xsd:element>
+
+                                    </xsd:choice>
+                                    <xsd:attribute name="name" use="optional" type="xsd:string"/>
+                                    <xsd:attribute name="key" use="optional" type="xsd:string"/>
+                                    <xsd:attribute name="hidden" use="optional" type="xsd:boolean"/>
+                                    <xsd:attribute name="type"  type="kcfg:datatype"/>
+                                </xsd:complexType>
+                            </xsd:element>
+                        </xsd:sequence>
+                        <xsd:attribute name="name" use="required" type="xsd:string"/>
+                        <xsd:attribute name="parentGroupName" use="optional" type="xsd:string"/>
+                    </xsd:complexType>
+                </xsd:element>
+            </xsd:sequence>
+        </xsd:complexType>
+    </xsd:element>
+
+    <xsd:simpleType name="datatype">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="String"/>
+            <xsd:enumeration value="StringList"/>
+            <xsd:enumeration value="Font"/>
+            <xsd:enumeration value="Rect"/>
+            <xsd:enumeration value="RectF"/>
+            <xsd:enumeration value="Size"/>
+            <xsd:enumeration value="SizeF"/>
+            <xsd:enumeration value="Color"/>
+            <xsd:enumeration value="Point"/>
+            <xsd:enumeration value="PointF"/>
+            <xsd:enumeration value="Int"/>
+            <xsd:enumeration value="UInt"/>
+            <xsd:enumeration value="Bool"/>
+            <xsd:enumeration value="Double"/>
+            <xsd:enumeration value="DateTime"/>
+            <xsd:enumeration value="LongLong"/>
+            <xsd:enumeration value="ULongLong"/>
+            <xsd:enumeration value="IntList"/>
+            <xsd:enumeration value="Enum"/>
+            <xsd:enumeration value="Path"/>
+            <xsd:enumeration value="PathList"/>
+            <xsd:enumeration value="Password"/>
+            <xsd:enumeration value="Url"/>
+            <xsd:enumeration value="UrlList"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="parameter">
+        <xsd:sequence>
+            <xsd:element minOccurs="0" name="values">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="value" maxOccurs="unbounded" type="xsd:string"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="name" use="required" type="xsd:string"/>
+        <xsd:attribute name="type" use="optional" type="kcfg:datatype" />
+        <xsd:attribute name="max" use="optional" type="xsd:positiveInteger"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="code">
+        <xsd:simpleContent>
+            <xsd:extension base="xsd:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="signal">
+        <xsd:sequence>
+            <xsd:element name="label" minOccurs="0" type="xsd:string"/>
+            <xsd:element name="argument" maxOccurs="unbounded" minOccurs="0" >
+                <xsd:complexType>
+                    <xsd:simpleContent>
+                        <xsd:extension base="xsd:string">
+                            <xsd:attribute use="required" name="type" type="kcfg:datatype"/>
+                        </xsd:extension>
+                    </xsd:simpleContent>
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="name" use="required" type="xsd:string" />
+    </xsd:complexType>
+
+    <xsd:complexType name="translatableString">
+        <xsd:simpleContent>
+            <xsd:extension base="xsd:string">
+                <xsd:attribute use="optional" name="context" type="xsd:string"/>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+</xsd:schema>
diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp
new file mode 100644 (file)
index 0000000..01f2246
--- /dev/null
@@ -0,0 +1,809 @@
+/*
+    This file is part of KDE.
+
+    SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+    SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+    SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+    SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+    SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <QDomAttr>
+#include <QFile>
+#include <QFileInfo>
+#include <QRegularExpression>
+#include <QSettings>
+#include <QStringList>
+#include <QTextStream>
+
+#include <algorithm>
+#include <iostream>
+#include <ostream>
+#include <stdlib.h>
+
+#include "../core/kconfig_version.h"
+#include "KConfigCommonStructs.h"
+#include "KConfigHeaderGenerator.h"
+#include "KConfigParameters.h"
+#include "KConfigSourceGenerator.h"
+#include "KConfigXmlParser.h"
+
+QString varName(const QString &n, const KConfigParameters &cfg)
+{
+    QString result;
+    if (!cfg.dpointer) {
+        result = QChar::fromLatin1('m') + n;
+        result[1] = result.at(1).toUpper();
+    } else {
+        result = n;
+        result[0] = result.at(0).toLower();
+    }
+    return result;
+}
+
+QString varPath(const QString &n, const KConfigParameters &cfg)
+{
+    QString result;
+    if (cfg.dpointer) {
+        result = QLatin1String{"d->"} + varName(n, cfg);
+    } else {
+        result = varName(n, cfg);
+    }
+    return result;
+}
+
+QString enumName(const QString &n)
+{
+    QString result = QLatin1String("Enum") + n;
+    result[4] = result.at(4).toUpper();
+    return result;
+}
+
+QString enumName(const QString &n, const CfgEntry::Choices &c)
+{
+    QString result = c.name();
+    if (result.isEmpty()) {
+        result = QLatin1String("Enum") + n;
+        result[4] = result.at(4).toUpper();
+    }
+    return result;
+}
+
+QString enumType(const CfgEntry *e, bool globalEnums)
+{
+    QString result = e->choices.name();
+    if (result.isEmpty()) {
+        result = QLatin1String("Enum") + e->name;
+        if (!globalEnums) {
+            result += QLatin1String("::type");
+        }
+        result[4] = result.at(4).toUpper();
+    }
+    return result;
+}
+
+QString enumTypeQualifier(const QString &n, const CfgEntry::Choices &c)
+{
+    QString result = c.name();
+    if (result.isEmpty()) {
+        result = QLatin1String("Enum") + n + QLatin1String("::");
+        result[4] = result.at(4).toUpper();
+    } else if (c.external()) {
+        result = c.externalQualifier();
+    } else {
+        result.clear();
+    }
+    return result;
+}
+
+QString setFunction(const QString &n, const QString &className)
+{
+    QString result = QLatin1String("set") + n;
+    result[3] = result.at(3).toUpper();
+
+    if (!className.isEmpty()) {
+        result = className + QLatin1String("::") + result;
+    }
+    return result;
+}
+
+QString changeSignalName(const QString &n)
+{
+    return n + QLatin1String{"Changed"};
+}
+
+QString getDefaultFunction(const QString &n, const QString &className)
+{
+    QString result = QLatin1String("default%1Value").arg(n);
+    result[7] = result.at(7).toUpper();
+
+    if (!className.isEmpty()) {
+        result.prepend(className + QLatin1String("::"));
+    }
+    return result;
+}
+
+QString getFunction(const QString &n, const QString &className)
+{
+    QString result = n;
+    result[0] = result.at(0).toLower();
+
+    if (!className.isEmpty()) {
+        result.prepend(className + QLatin1String("::"));
+    }
+    return result;
+}
+
+QString immutableFunction(const QString &n, const QString &className)
+{
+    QString result = QLatin1String("is") + n;
+    result[2] = result.at(2).toUpper();
+    result += QLatin1String{"Immutable"};
+
+    if (!className.isEmpty()) {
+        result.prepend(className + QLatin1String("::"));
+    }
+    return result;
+}
+
+void addQuotes(QString &s)
+{
+    if (!s.startsWith(QLatin1Char('"'))) {
+        s.prepend(QLatin1Char('"'));
+    }
+    if (!s.endsWith(QLatin1Char('"'))) {
+        s.append(QLatin1Char('"'));
+    }
+}
+
+static QString quoteString(const QString &s)
+{
+    QString r = s;
+    r.replace(QLatin1Char('\\'), QLatin1String("\\\\"));
+    r.replace(QLatin1Char('\"'), QLatin1String("\\\""));
+    r.remove(QLatin1Char('\r'));
+    r.replace(QLatin1Char('\n'), QLatin1String("\\n\"\n\""));
+    return QLatin1Char('\"') + r + QLatin1Char('\"');
+}
+
+QString literalString(const QString &str)
+{
+    const bool isAscii = std::none_of(str.cbegin(), str.cend(), [](const QChar ch) {
+        return ch.unicode() > 127;
+    });
+
+    if (isAscii) {
+        return QLatin1String("QStringLiteral( %1 )").arg(quoteString(str));
+    } else {
+        return QLatin1String("QString::fromUtf8( %1 )").arg(quoteString(str));
+    }
+}
+
+QString signalEnumName(const QString &signalName)
+{
+    QString result;
+    result = QLatin1String("signal") + signalName;
+    result[6] = result.at(6).toUpper();
+
+    return result;
+}
+
+bool isUnsigned(const QString &type)
+{
+    return type == QLatin1String("UInt") || type == QLatin1String("ULongLong");
+}
+
+/**
+  Return parameter declaration for given type.
+*/
+QString param(const QString &t)
+{
+    const QString type = t.toLower();
+    if (type == QLatin1String("string")) {
+        return QStringLiteral("const QString &");
+    } else if (type == QLatin1String("stringlist")) {
+        return QStringLiteral("const QStringList &");
+    } else if (type == QLatin1String("font")) {
+        return QStringLiteral("const QFont &");
+    } else if (type == QLatin1String("rect")) {
+        return QStringLiteral("const QRect &");
+    } else if (type == QLatin1String("rectf")) {
+        return QStringLiteral("const QRectF &");
+    } else if (type == QLatin1String("size")) {
+        return QStringLiteral("const QSize &");
+    } else if (type == QLatin1String("sizef")) {
+        return QStringLiteral("const QSizeF &");
+    } else if (type == QLatin1String("color")) {
+        return QStringLiteral("const QColor &");
+    } else if (type == QLatin1String("point")) {
+        return QStringLiteral("const QPoint &");
+    } else if (type == QLatin1String("pointf")) {
+        return QStringLiteral("const QPointF &");
+    } else if (type == QLatin1String("int")) {
+        return QStringLiteral("int");
+    } else if (type == QLatin1String("uint")) {
+        return QStringLiteral("uint");
+    } else if (type == QLatin1String("bool")) {
+        return QStringLiteral("bool");
+    } else if (type == QLatin1String("double")) {
+        return QStringLiteral("double");
+    } else if (type == QLatin1String("datetime")) {
+        return QStringLiteral("const QDateTime &");
+    } else if (type == QLatin1String("longlong")) {
+        return QStringLiteral("qint64");
+    } else if (type == QLatin1String("ulonglong")) {
+        return QStringLiteral("quint64");
+    } else if (type == QLatin1String("intlist")) {
+        return QStringLiteral("const QList<int> &");
+    } else if (type == QLatin1String("enum")) {
+        return QStringLiteral("int");
+    } else if (type == QLatin1String("path")) {
+        return QStringLiteral("const QString &");
+    } else if (type == QLatin1String("pathlist")) {
+        return QStringLiteral("const QStringList &");
+    } else if (type == QLatin1String("password")) {
+        return QStringLiteral("const QString &");
+    } else if (type == QLatin1String("url")) {
+        return QStringLiteral("const QUrl &");
+    } else if (type == QLatin1String("urllist")) {
+        return QStringLiteral("const QList<QUrl> &");
+    } else {
+        std::cerr << "kconfig_compiler_kf6 does not support type \"" << qPrintable(type) << "\"" << std::endl;
+        return QStringLiteral("QString"); // For now, but an assert would be better
+    }
+}
+
+/**
+  Actual C++ storage type for given type.
+*/
+QString cppType(const QString &t)
+{
+    const QString type = t.toLower();
+    if (type == QLatin1String("string")) {
+        return QStringLiteral("QString");
+    } else if (type == QLatin1String("stringlist")) {
+        return QStringLiteral("QStringList");
+    } else if (type == QLatin1String("font")) {
+        return QStringLiteral("QFont");
+    } else if (type == QLatin1String("rect")) {
+        return QStringLiteral("QRect");
+    } else if (type == QLatin1String("rectf")) {
+        return QStringLiteral("QRectF");
+    } else if (type == QLatin1String("size")) {
+        return QStringLiteral("QSize");
+    } else if (type == QLatin1String("sizef")) {
+        return QStringLiteral("QSizeF");
+    } else if (type == QLatin1String("color")) {
+        return QStringLiteral("QColor");
+    } else if (type == QLatin1String("point")) {
+        return QStringLiteral("QPoint");
+    } else if (type == QLatin1String("pointf")) {
+        return QStringLiteral("QPointF");
+    } else if (type == QLatin1String("int")) {
+        return QStringLiteral("int");
+    } else if (type == QLatin1String("uint")) {
+        return QStringLiteral("uint");
+    } else if (type == QLatin1String("bool")) {
+        return QStringLiteral("bool");
+    } else if (type == QLatin1String("double")) {
+        return QStringLiteral("double");
+    } else if (type == QLatin1String("datetime")) {
+        return QStringLiteral("QDateTime");
+    } else if (type == QLatin1String("longlong")) {
+        return QStringLiteral("qint64");
+    } else if (type == QLatin1String("ulonglong")) {
+        return QStringLiteral("quint64");
+    } else if (type == QLatin1String("intlist")) {
+        return QStringLiteral("QList<int>");
+    } else if (type == QLatin1String("enum")) {
+        return QStringLiteral("int");
+    } else if (type == QLatin1String("path")) {
+        return QStringLiteral("QString");
+    } else if (type == QLatin1String("pathlist")) {
+        return QStringLiteral("QStringList");
+    } else if (type == QLatin1String("password")) {
+        return QStringLiteral("QString");
+    } else if (type == QLatin1String("url")) {
+        return QStringLiteral("QUrl");
+    } else if (type == QLatin1String("urllist")) {
+        return QStringLiteral("QList<QUrl>");
+    } else {
+        std::cerr << "kconfig_compiler_kf6 does not support type \"" << qPrintable(type) << "\"" << std::endl;
+        return QStringLiteral("QString"); // For now, but an assert would be better
+    }
+}
+
+QString defaultValue(const QString &t)
+{
+    const QString type = t.toLower();
+    if (type == QLatin1String("string")) {
+        return QStringLiteral("\"\""); // Use empty string, not null string!
+    } else if (type == QLatin1String("stringlist")) {
+        return QStringLiteral("QStringList()");
+    } else if (type == QLatin1String("font")) {
+        return QStringLiteral("QFont()");
+    } else if (type == QLatin1String("rect")) {
+        return QStringLiteral("QRect()");
+    } else if (type == QLatin1String("rectf")) {
+        return QStringLiteral("QRectF()");
+    } else if (type == QLatin1String("size")) {
+        return QStringLiteral("QSize()");
+    } else if (type == QLatin1String("sizef")) {
+        return QStringLiteral("QSizeF()");
+    } else if (type == QLatin1String("color")) {
+        return QStringLiteral("QColor(128, 128, 128)");
+    } else if (type == QLatin1String("point")) {
+        return QStringLiteral("QPoint()");
+    } else if (type == QLatin1String("pointf")) {
+        return QStringLiteral("QPointF()");
+    } else if (type == QLatin1String("int")) {
+        return QStringLiteral("0");
+    } else if (type == QLatin1String("uint")) {
+        return QStringLiteral("0");
+    } else if (type == QLatin1String("bool")) {
+        return QStringLiteral("false");
+    } else if (type == QLatin1String("double")) {
+        return QStringLiteral("0.0");
+    } else if (type == QLatin1String("datetime")) {
+        return QStringLiteral("QDateTime()");
+    } else if (type == QLatin1String("longlong")) {
+        return QStringLiteral("0");
+    } else if (type == QLatin1String("ulonglong")) {
+        return QStringLiteral("0");
+    } else if (type == QLatin1String("intlist")) {
+        return QStringLiteral("QList<int>()");
+    } else if (type == QLatin1String("enum")) {
+        return QStringLiteral("0");
+    } else if (type == QLatin1String("path")) {
+        return QStringLiteral("\"\""); // Use empty string, not null string!
+    } else if (type == QLatin1String("pathlist")) {
+        return QStringLiteral("QStringList()");
+    } else if (type == QLatin1String("password")) {
+        return QStringLiteral("\"\""); // Use empty string, not null string!
+    } else if (type == QLatin1String("url")) {
+        return QStringLiteral("QUrl()");
+    } else if (type == QLatin1String("urllist")) {
+        return QStringLiteral("QList<QUrl>()");
+    } else {
+        std::cerr << "Error, kconfig_compiler_kf6 does not support the \"" << qPrintable(type) << "\" type!" << std::endl;
+        return QStringLiteral("QString"); // For now, but an assert would be better
+    }
+}
+
+QString itemType(const QString &type)
+{
+    if (type.isEmpty()) {
+        return QString{};
+    }
+
+    QString str = type;
+    str[0] = str.at(0).toUpper();
+
+    return str;
+}
+
+QString itemDeclaration(const CfgEntry *e, const KConfigParameters &cfg)
+{
+    if (e->name.isEmpty()) {
+        return QString{};
+    }
+
+    const QString type = cfg.inherits + QLatin1String{"::Item"} + itemType(e->type);
+
+    QString fCap = e->name;
+    fCap[0] = fCap.at(0).toUpper();
+    const QString argSuffix = (!e->param.isEmpty()) ? (QStringLiteral("[%1]").arg(e->paramMax + 1)) : QString();
+    QString result;
+
+    if (!cfg.itemAccessors && !cfg.dpointer) {
+        result += QLatin1String{"  "} + (!e->signalList.isEmpty() ? QStringLiteral("KConfigCompilerSignallingItem") : type);
+        result += QLatin1String("  *item%1;\n").arg(fCap + argSuffix);
+    }
+
+    if (!e->signalList.isEmpty()) {
+        result += QLatin1String("  %1  *%2;\n").arg(type, innerItemVar(e, cfg) + argSuffix);
+    }
+
+    return result;
+}
+
+// returns the name of an item variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString itemVar(const CfgEntry *e, const KConfigParameters &cfg)
+{
+    QString result;
+    if (cfg.itemAccessors) {
+        if (!cfg.dpointer) {
+            result = QLatin1String("m%1Item").arg(e->name);
+            result[1] = result.at(1).toUpper();
+        } else {
+            result = e->name + QLatin1String{"Item"};
+            result[0] = result.at(0).toLower();
+        }
+    } else {
+        result = QLatin1String{"item"} + e->name;
+        result[4] = result.at(4).toUpper();
+    }
+    return result;
+}
+
+// returns the name of the local inner item if there is one
+// (before wrapping with KConfigCompilerSignallingItem)
+// Otherwise return itemVar()
+QString innerItemVar(const CfgEntry *e, const KConfigParameters &cfg)
+{
+    if (e->signalList.isEmpty()) {
+        return itemPath(e, cfg);
+    }
+
+    QString result = QLatin1String{"innerItem"} + e->name;
+    result[9] = result.at(9).toUpper();
+    return result;
+}
+
+QString itemPath(const CfgEntry *e, const KConfigParameters &cfg)
+{
+    return cfg.dpointer ? QLatin1String{"d->"} + itemVar(e, cfg) : itemVar(e, cfg);
+}
+
+QString newInnerItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString &param)
+{
+    QString str = QLatin1String("new %1::Item%2").arg(cfg.inherits, itemType(entry->type));
+    str += QLatin1String("( currentGroup(), %1, %2").arg(key, varPath(entry->name, cfg) + param);
+
+    if (entry->type == QLatin1String("Enum")) {
+        str += QLatin1String{", values"} + entry->name;
+    }
+    if (!defaultValue.isEmpty()) {
+        str += QLatin1String(", ") + defaultValue;
+    }
+    str += QLatin1String(" );");
+
+    return str;
+}
+
+QString newItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString &param)
+{
+    const QList<Signal> sigs = entry->signalList;
+    if (sigs.isEmpty()) {
+        return newInnerItem(entry, key, defaultValue, cfg, param);
+    }
+
+    QString str;
+    str += QLatin1String("new KConfigCompilerSignallingItem(%1, this, notifyFunction, ").arg(innerItemVar(entry, cfg) + param);
+    // Append the signal flags
+    const int listSize = sigs.size();
+    for (int i = 0; i < listSize; ++i) {
+        if (i != 0) {
+            str += QLatin1String(" | ");
+        }
+        str += signalEnumName(sigs[i].name);
+    }
+    str += QLatin1String(");");
+
+    return str;
+}
+
+QString paramString(const QString &s, const CfgEntry *e, int i)
+{
+    QString result = s;
+    const QString needle = QLatin1String("$(%1)").arg(e->param);
+    if (result.contains(needle)) {
+        const QString tmp = e->paramType == QLatin1String{"Enum"} ? e->paramValues.at(i) : QString::number(i);
+
+        result.replace(needle, tmp);
+    }
+    return result;
+}
+
+QString paramString(const QString &group, const QList<Param> &parameters)
+{
+    QString paramString = group;
+    QString arguments;
+    int i = 1;
+    bool firstArg = true;
+    for (const auto &param : parameters) {
+        const QString paramName = param.name;
+        const QString str = QLatin1String("$(%1)").arg(paramName);
+        if (paramString.contains(str)) {
+            const QString tmp = QStringLiteral("%%1").arg(i++);
+            paramString.replace(str, tmp);
+
+            if (firstArg) {
+                arguments += QLatin1String{".arg( "};
+                firstArg = false;
+            }
+
+            arguments += QLatin1String("mParam%1, ").arg(paramName);
+        }
+    }
+
+    if (!arguments.isEmpty()) {
+        // Remove the last ", "
+        arguments.chop(2);
+
+        // Close the ".arg( "
+        arguments += QLatin1String{" )"};
+    } else {
+        return QLatin1String("QStringLiteral( \"%1\" )").arg(group);
+    }
+
+    return QLatin1String("QStringLiteral( \"%1\" )%2").arg(paramString, arguments);
+}
+
+QString translatedString(const KConfigParameters &cfg, const QString &string, const QString &context, const QString &param, const QString &paramValue)
+{
+    QString result;
+
+    switch (cfg.translationSystem) {
+    case KConfigParameters::QtTranslation:
+        if (!context.isEmpty()) {
+            result += QLatin1String("/*: %1 */ QCoreApplication::translate(\"").arg(context);
+        } else {
+            result += QLatin1String{"QCoreApplication::translate(\""};
+        }
+        result += QLatin1String("%1\", ").arg(cfg.className);
+        break;
+
+    case KConfigParameters::KdeTranslation:
+        if (!cfg.translationDomain.isEmpty() && !context.isEmpty()) {
+            result += QLatin1String("i18ndc(%1, %2, ").arg(quoteString(cfg.translationDomain), quoteString(context));
+        } else if (!cfg.translationDomain.isEmpty()) {
+            result += QLatin1String("i18nd(%1, ").arg(quoteString(cfg.translationDomain));
+        } else if (!context.isEmpty()) {
+            result += QLatin1String("i18nc(%1, ").arg(quoteString(context));
+        } else {
+            result += QLatin1String{"i18n("};
+        }
+        break;
+    }
+
+    if (!param.isEmpty()) {
+        QString resolvedString = string;
+        resolvedString.replace(QLatin1String("$(%1)").arg(param), paramValue);
+        result += quoteString(resolvedString);
+    } else {
+        result += quoteString(string);
+    }
+
+    result += QLatin1Char{')'};
+
+    return result;
+}
+
+/* int i is the value of the parameter */
+QString userTextsFunctions(const CfgEntry *e, const KConfigParameters &cfg, QString itemVarStr, const QString &i)
+{
+    QString txt;
+    if (itemVarStr.isNull()) {
+        itemVarStr = itemPath(e, cfg);
+    }
+    if (!e->label.isEmpty()) {
+        txt += QLatin1String("  %1->setLabel( %2 );\n").arg(itemVarStr, translatedString(cfg, e->label, e->labelContext, e->param, i));
+    }
+    if (!e->toolTip.isEmpty()) {
+        txt += QLatin1String("  %1->setToolTip( %2 );\n").arg(itemVarStr, translatedString(cfg, e->toolTip, e->toolTipContext, e->param, i));
+    }
+    if (!e->whatsThis.isEmpty()) {
+        txt += QLatin1String("  %1->setWhatsThis( %2 );\n").arg(itemVarStr, translatedString(cfg, e->whatsThis, e->whatsThisContext, e->param, i));
+    }
+    return txt;
+}
+
+// returns the member mutator implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+// TODO: Fix add Debug Method, it should also take the debug string.
+void addDebugMethod(QTextStream &out, const KConfigParameters &cfg, const QString &n)
+{
+    if (cfg.qCategoryLoggingName.isEmpty()) {
+        out << "  qDebug() << \"" << setFunction(n);
+    } else {
+        out << "  qCDebug(" << cfg.qCategoryLoggingName << ") << \"" << setFunction(n);
+    }
+}
+
+// returns the member get default implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString memberGetDefaultBody(const CfgEntry *e)
+{
+    QString result = e->code;
+    QTextStream out(&result, QIODevice::WriteOnly);
+    out << '\n';
+
+    if (!e->param.isEmpty()) {
+        out << "  switch (i) {\n";
+        for (int i = 0; i <= e->paramMax; ++i) {
+            if (!e->paramDefaultValues[i].isEmpty()) {
+                out << "  case " << i << ": return " << e->paramDefaultValues[i] << ";\n";
+            }
+        }
+        QString defaultValue = e->defaultValue;
+
+        out << "  default:\n";
+        out << "    return " << defaultValue.replace(QLatin1String("$(%1)").arg(e->param), QLatin1String("i")) << ";\n";
+        out << "  }\n";
+    } else {
+        out << "  return " << e->defaultValue << ';';
+    }
+
+    return result;
+}
+
+// returns the item accessor implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString itemAccessorBody(const CfgEntry *e, const KConfigParameters &cfg)
+{
+    QString result;
+    QTextStream out(&result, QIODevice::WriteOnly);
+
+    out << "return " << itemPath(e, cfg);
+    if (!e->param.isEmpty()) {
+        out << "[i]";
+    }
+    out << ";\n";
+
+    return result;
+}
+
+// indents text adding X spaces per line
+QString indent(QString text, int spaces)
+{
+    QString result;
+    QTextStream out(&result, QIODevice::WriteOnly);
+    QTextStream in(&text, QIODevice::ReadOnly);
+    QString currLine;
+    while (!in.atEnd()) {
+        currLine = in.readLine();
+        if (!currLine.isEmpty()) {
+            for (int i = 0; i < spaces; ++i) {
+                out << " ";
+            }
+        }
+        out << currLine << '\n';
+    }
+    return result;
+}
+
+bool hasErrors(KConfigXmlParser &parser, const ParseResult &parseResult, const KConfigParameters &cfg)
+{
+    Q_UNUSED(parser)
+
+    if (cfg.className.isEmpty()) {
+        std::cerr << "Class name missing" << std::endl;
+        return true;
+    }
+
+    if (cfg.singleton && !parseResult.parameters.isEmpty()) {
+        std::cerr << "Singleton class can not have parameters" << std::endl;
+        return true;
+    }
+
+    if (!parseResult.cfgFileName.isEmpty() && parseResult.cfgFileNameArg) {
+        std::cerr << "Having both a fixed filename and a filename as argument is not possible." << std::endl;
+        return true;
+    }
+
+    /* TODO: For some reason some configuration files prefer to have *no* entries
+     * at all in it, and the generated code is mostly bogus as KConfigXT will not
+     * handle save / load / properties, etc, nothing.
+     *
+     * The first of those files that I came across are qmakebuilderconfig.kcfg from the KDevelop
+     * project.
+     * I think we should remove the possibility of creating configuration classes from configuration
+     * files that don't really have configuration in it. but I'm changing this right now to allow
+     * kdevelop files to pass.
+     *
+     * Remove for KDE 6
+     * (to make things more interesting, it failed in a code that's never used within KDevelop... )
+     */
+    if (parseResult.entries.isEmpty()) {
+        std::cerr << "No entries." << std::endl;
+        return false;
+    }
+
+    return false;
+}
+
+int main(int argc, char **argv)
+{
+    QCoreApplication app(argc, argv);
+    app.setApplicationName(QStringLiteral("kconfig_compiler"));
+    app.setApplicationVersion(QStringLiteral(KCONFIG_VERSION_STRING));
+
+    QString inputFilename;
+    QString codegenFilename;
+
+    QCommandLineOption targetDirectoryOption(QStringList{QStringLiteral("d"), QStringLiteral("directory")},
+                                             QCoreApplication::translate("main", "Directory to generate files in [.]"),
+                                             QCoreApplication::translate("main", "directory"),
+                                             QStringLiteral("."));
+
+    QCommandLineOption licenseOption(QStringList{QStringLiteral("l"), QStringLiteral("license")},
+                                     QCoreApplication::translate("main", "Display software license."));
+
+    QCommandLineParser parser;
+
+    parser.addPositionalArgument(QStringLiteral("file.kcfg"), QStringLiteral("Input kcfg XML file"));
+    parser.addPositionalArgument(QStringLiteral("file.kcfgc"), QStringLiteral("Code generation options file"));
+
+    parser.addOption(targetDirectoryOption);
+    parser.addOption(licenseOption);
+
+    parser.addVersionOption();
+    parser.addHelpOption();
+    parser.process(app);
+
+    if (parser.isSet(licenseOption)) {
+        std::cout << "Copyright 2003 Cornelius Schumacher, Waldo Bastian, Zack Rusin," << std::endl;
+        std::cout << "    Reinhold Kainhofer, Duncan Mac-Vicar P., Harald Fernengel" << std::endl;
+        std::cout << "This program comes with ABSOLUTELY NO WARRANTY." << std::endl;
+        std::cout << "You may redistribute copies of this program" << std::endl;
+        std::cout << "under the terms of the GNU Library Public License." << std::endl;
+        std::cout << "For more information about these matters, see the file named COPYING." << std::endl;
+        return 0;
+    }
+
+    const QStringList args = parser.positionalArguments();
+    if (args.count() < 2) {
+        std::cerr << "Too few arguments." << std::endl;
+        return 1;
+    }
+
+    if (args.count() > 2) {
+        std::cerr << "Too many arguments." << std::endl;
+        return 1;
+    }
+    inputFilename = args.at(0);
+    codegenFilename = args.at(1);
+
+    // TODO: Transform baseDir into a helper.
+    QString baseDir = parser.value(targetDirectoryOption);
+
+#ifdef Q_OS_WIN
+    if (!baseDir.endsWith(QLatin1Char{'/'}) && !baseDir.endsWith(QLatin1Char{'\\'})) {
+#else
+    if (!baseDir.endsWith(QLatin1Char{'/'})) {
+#endif
+        baseDir.append(QLatin1Char{'/'});
+    }
+
+    KConfigParameters cfg(codegenFilename);
+
+    KConfigXmlParser xmlParser(cfg, inputFilename);
+
+    // The Xml Parser aborts in the case of an error, so if we get
+    // to parseResult, we have a working Xml file.
+    xmlParser.start();
+
+    ParseResult parseResult = xmlParser.getParseResult();
+
+    if (hasErrors(xmlParser, parseResult, cfg)) {
+        return 1;
+    }
+
+    // TODO: Move this to somewhere saner.
+    for (const auto &signal : std::as_const(parseResult.signalList)) {
+        parseResult.hasNonModifySignals |= !signal.modify;
+    }
+
+    // remove '.kcfg' from the name.
+    const QString baseName = inputFilename.mid(0, inputFilename.size() - 5);
+    KConfigHeaderGenerator headerGenerator(baseName, baseDir, cfg, parseResult);
+    headerGenerator.start();
+    headerGenerator.save();
+
+    KConfigSourceGenerator sourceGenerator(baseName, baseDir, cfg, parseResult);
+    sourceGenerator.start();
+    sourceGenerator.save();
+
+    qDeleteAll(parseResult.entries);
+}
diff --git a/src/kreadconfig/CMakeLists.txt b/src/kreadconfig/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d3bbe30
--- /dev/null
@@ -0,0 +1,15 @@
+add_executable(kreadconfig6 kreadconfig.cpp)
+ecm_mark_nongui_executable(kreadconfig6)
+
+target_link_libraries(kreadconfig6 KF6::ConfigCore)
+
+install(TARGETS kreadconfig6 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+########### next target ###############
+
+add_executable(kwriteconfig6 kwriteconfig.cpp)
+ecm_mark_nongui_executable(kwriteconfig6)
+
+target_link_libraries(kwriteconfig6 KF6::ConfigCore)
+
+install(TARGETS kwriteconfig6 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
diff --git a/src/kreadconfig/kreadconfig.cpp b/src/kreadconfig/kreadconfig.cpp
new file mode 100644 (file)
index 0000000..d501093
--- /dev/null
@@ -0,0 +1,121 @@
+/*  Read KConfig() entries - for use in shell scripts.
+
+    SPDX-FileCopyrightText: 2001 Red Hat, Inc.
+    SPDX-FileContributor: Programmed by Bernhard Rosenkraenzer <bero@redhat.com>
+
+    SPDX-License-Identifier: GPL-2.0-or-later
+*/
+
+/*
+ * If --type is specified as bool, the return value is 0 if the value
+ * is set, 1 if it isn't set. There is no output.
+ *
+ * If --type is specified as num, the return value matches the value
+ * of the key. There is no output.
+ *
+ * If --type is not set, the value of the key is simply printed to stdout.
+ *
+ * Usage examples:
+ *     if kreadconfig6 --group KDE --key macStyle --type bool; then
+ *             echo "We're using Mac-Style menus."
+ *     else
+ *             echo "We're using normal menus."
+ *     fi
+ *
+ *     TRASH=`kreadconfig6 --group Paths --key Trash`
+ *     if test -n "$TRASH"; then
+ *             mv someFile "$TRASH"
+ *     else
+ *             rm someFile
+ *     fi
+ */
+
+#include <KConfig>
+#include <KConfigGroup>
+#include <KSharedConfig>
+#include <QCommandLineParser>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+    QCoreApplication app(argc, argv);
+
+    QCommandLineParser parser;
+    parser.addHelpOption();
+    parser.addOption(
+        QCommandLineOption(QStringLiteral("file"), QCoreApplication::translate("main", "Use <file> instead of global config"), QStringLiteral("file")));
+    parser.addOption(
+        QCommandLineOption(QStringLiteral("group"),
+                           QCoreApplication::translate("main", "Group to look in. Use \"<default>\" for the root group, or use repeatedly for nested groups."),
+                           QStringLiteral("group"),
+                           QStringLiteral("KDE")));
+    parser.addOption(QCommandLineOption(QStringLiteral("key"), QCoreApplication::translate("main", "Key to look for"), QStringLiteral("key")));
+    parser.addOption(QCommandLineOption(QStringLiteral("default"), QCoreApplication::translate("main", "Default value"), QStringLiteral("value")));
+    parser.addOption(QCommandLineOption(QStringLiteral("type"), QCoreApplication::translate("main", "Type of variable"), QStringLiteral("type")));
+
+    parser.process(app);
+
+    const QStringList groups = parser.values(QStringLiteral("group"));
+    QString key = parser.value(QStringLiteral("key"));
+    QString file = parser.value(QStringLiteral("file"));
+    QString dflt = parser.value(QStringLiteral("default"));
+    QString type = parser.value(QStringLiteral("type")).toLower();
+
+    if (key.isNull() || !parser.positionalArguments().isEmpty()) {
+        parser.showHelp(1);
+    }
+
+    KSharedConfig::openConfig();
+
+    KConfig *konfig;
+    bool configMustDeleted = false;
+    if (file.isEmpty()) {
+        konfig = KSharedConfig::openConfig().data();
+    } else {
+        konfig = new KConfig(file, KConfig::NoGlobals);
+        configMustDeleted = true;
+    }
+    KConfigGroup cfgGroup = konfig->group(QString());
+    for (const QString &grp : groups) {
+        if (grp.isEmpty()) {
+            fprintf(stderr,
+                    "%s: %s\n",
+                    qPrintable(QCoreApplication::applicationName()),
+                    qPrintable(QCoreApplication::translate("main", "Group name cannot be empty, use \"<default>\" for the root group")));
+            if (configMustDeleted) {
+                delete konfig;
+            }
+            return 2;
+        }
+        cfgGroup = cfgGroup.group(grp);
+    }
+
+    if (type == QLatin1String{"bool"}) {
+        dflt = dflt.toLower();
+        bool def = (dflt == QLatin1String{"true"} || dflt == QLatin1String{"on"} || dflt == QLatin1String{"yes"} || dflt == QLatin1String{"1"});
+        bool retValue = !cfgGroup.readEntry(key, def);
+        if (configMustDeleted) {
+            delete konfig;
+        }
+        return retValue;
+    } else if (type == QLatin1String{"num"} || type == QLatin1String{"int"}) {
+        int retValue = cfgGroup.readEntry(key, dflt.toInt());
+        if (configMustDeleted) {
+            delete konfig;
+        }
+        return retValue;
+    } else if (type == QLatin1String{"path"}) {
+        fprintf(stdout, "%s\n", cfgGroup.readPathEntry(key, dflt).toLocal8Bit().data());
+        if (configMustDeleted) {
+            delete konfig;
+        }
+        return 0;
+    } else {
+        /* Assume it's a string... */
+        fprintf(stdout, "%s\n", cfgGroup.readEntry(key, dflt).toLocal8Bit().data());
+        if (configMustDeleted) {
+            delete konfig;
+        }
+        return 0;
+    }
+}
diff --git a/src/kreadconfig/kwriteconfig.cpp b/src/kreadconfig/kwriteconfig.cpp
new file mode 100644 (file)
index 0000000..af39325
--- /dev/null
@@ -0,0 +1,97 @@
+/*  Write KConfig() entries - for use in shell scripts.
+
+    SPDX-FileCopyrightText: 2001 Red Hat , Inc.
+    SPDX-FileCopyrightText: 2001 Luís Pedro Coelho <luis_pedro@netcabo.pt>
+
+    Programmed by Luís Pedro Coelho <luis_pedro@netcabo.pt>
+    based on kreadconfig by Bernhard Rosenkraenzer <bero@redhat.com>
+
+    SPDX-License-Identifier: GPL-2.0-or-later
+*/
+
+#include <KConfig>
+#include <KConfigGroup>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+    QCoreApplication app(argc, argv);
+
+    QCommandLineParser parser;
+    parser.addHelpOption();
+    parser.addOption(
+        QCommandLineOption(QStringLiteral("file"), QCoreApplication::translate("main", "Use <file> instead of global config"), QStringLiteral("file")));
+    parser.addOption(
+        QCommandLineOption(QStringLiteral("group"),
+                           QCoreApplication::translate("main", "Group to look in. Use \"<default>\" for the root group, or use repeatedly for nested groups."),
+                           QStringLiteral("group"),
+                           QStringLiteral("KDE")));
+    parser.addOption(QCommandLineOption(QStringLiteral("key"), QCoreApplication::translate("main", "Key to look for"), QStringLiteral("key")));
+    parser.addOption(
+        QCommandLineOption(QStringLiteral("type"),
+                           QCoreApplication::translate("main", "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a string"),
+                           QStringLiteral("type")));
+    parser.addOption(QCommandLineOption(QStringLiteral("delete"), QCoreApplication::translate("main", "Delete the designated key if enabled")));
+    parser.addPositionalArgument(QStringLiteral("value"), QCoreApplication::translate("main", "The value to write. Mandatory, on a shell use '' for empty"));
+
+    parser.process(app);
+
+    const QStringList groups = parser.values(QStringLiteral("group"));
+    QString key = parser.value(QStringLiteral("key"));
+    QString file = parser.value(QStringLiteral("file"));
+    QString type = parser.value(QStringLiteral("type")).toLower();
+    bool del = parser.isSet(QStringLiteral("delete"));
+
+    QString value;
+    if (del) {
+        value = QString{};
+    } else if (parser.positionalArguments().isEmpty()) {
+        parser.showHelp(1);
+    } else {
+        value = parser.positionalArguments().at(0);
+    }
+
+    KConfig *konfig;
+    if (file.isEmpty()) {
+        konfig = new KConfig(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+    } else {
+        konfig = new KConfig(file, KConfig::NoGlobals);
+    }
+
+    KConfigGroup cfgGroup = konfig->group(QString());
+    for (const QString &grp : groups) {
+        if (grp.isEmpty()) {
+            fprintf(stderr,
+                    "%s: %s\n",
+                    qPrintable(QCoreApplication::applicationName()),
+                    qPrintable(QCoreApplication::translate("main", "Group name cannot be empty, use \"<default>\" for the root group")));
+            return 2;
+        }
+        cfgGroup = cfgGroup.group(grp);
+    }
+
+    if (konfig->accessMode() != KConfig::ReadWrite || cfgGroup.isEntryImmutable(key)) {
+        return 2;
+    }
+
+    if (del) {
+        cfgGroup.deleteEntry(key);
+    } else if (type == QLatin1String{"bool"}) {
+        // For symmetry with kreadconfig we accept a wider range of values as true than Qt
+        /* clang-format off */
+        bool boolvalue = value == QLatin1String{"true"}
+                         || value == QLatin1String{"on"}
+                         || value == QLatin1String{"yes"}
+                         || value == QLatin1String{"1"}; /* clang-format on */
+        cfgGroup.writeEntry(key, boolvalue);
+    } else if (type == QLatin1String{"path"}) {
+        cfgGroup.writePathEntry(key, value);
+    } else {
+        cfgGroup.writeEntry(key, value);
+    }
+    konfig->sync();
+    delete konfig;
+    return 0;
+}
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3ded3e8
--- /dev/null
@@ -0,0 +1,64 @@
+# SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+# SPDX-License-Identifier: BSD-2-Clause
+
+add_library(KF6ConfigQml)
+add_library(KF6::ConfigQml ALIAS KF6ConfigQml)
+
+ecm_add_qml_module(KF6ConfigQml URI org.kde.config GENERATE_PLUGIN_SOURCE)
+
+set_target_properties(KF6ConfigQml PROPERTIES
+    VERSION     ${KCONFIG_VERSION}
+    SOVERSION   ${KCONFIG_SOVERSION}
+    EXPORT_NAME ConfigQml
+)
+
+target_sources(KF6ConfigQml PRIVATE
+    kconfigpropertymap.cpp
+    kwindowstatesaverquick.cpp
+    types.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigQml
+    HEADER kconfig_qml_log_settings.h
+    IDENTIFIER KCONFIG_QML_LOG
+    CATEGORY_NAME kf.config.qml
+    DESCRIPTION "KConfig QML"
+    EXPORT KCONFIG
+)
+
+ecm_generate_export_header(KF6ConfigQml
+    BASE_NAME KConfigQml
+    GROUP_BASE_NAME KF
+    VERSION ${KF_VERSION}
+    USE_VERSION_HEADER
+    VERSION_BASE_NAME KConfig
+    DEPRECATED_BASE_VERSION 0
+    EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_link_libraries(KF6ConfigQml
+  PUBLIC
+    KF6::ConfigCore # KCoreConfigSkeleton, in ConfigPropertyMap
+    KF6::ConfigGui # KWindowStateSaver
+    Qt6::Qml
+  PRIVATE
+    Qt6::Quick
+)
+
+ecm_generate_headers(KConfigQml_HEADERS
+    HEADER_NAMES
+    KConfigPropertyMap
+
+    REQUIRED_HEADERS KConfigQml_HEADERS
+)
+target_include_directories(KF6ConfigQml
+    INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigQml>")
+
+install(TARGETS KF6ConfigQml EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+install(FILES
+  ${CMAKE_CURRENT_BINARY_DIR}/kconfigqml_export.h
+  ${KConfigQml_HEADERS}
+  DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigQml COMPONENT Devel
+)
+
+ecm_finalize_qml_module(KF6ConfigQml DESTINATION ${KDE_INSTALL_QMLDIR} EXPORT KF6ConfigTargets)
diff --git a/src/qml/kconfigpropertymap.cpp b/src/qml/kconfigpropertymap.cpp
new file mode 100644 (file)
index 0000000..55826a6
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+    SPDX-FileCopyrightText: 2013 Marco Martin <notmart@gmail.com>
+    SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
+    SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigpropertymap.h"
+
+#include <KCoreConfigSkeleton>
+#include <QJSValue>
+#include <QPointer>
+
+#include <functional>
+
+class KConfigPropertyMapPrivate
+{
+public:
+    KConfigPropertyMapPrivate(KConfigPropertyMap *map)
+        : q(map)
+    {
+    }
+
+    enum LoadConfigOption {
+        DontEmitValueChanged,
+        EmitValueChanged,
+    };
+
+    void loadConfig(LoadConfigOption option);
+    void writeConfig();
+    void writeConfigValue(const QString &key, const QVariant &value);
+
+    KConfigPropertyMap *q;
+    QPointer<KCoreConfigSkeleton> config;
+    bool updatingConfigValue = false;
+    bool notify = false;
+};
+
+KConfigPropertyMap::KConfigPropertyMap(KCoreConfigSkeleton *config, QObject *parent)
+    : QQmlPropertyMap(this, parent)
+    , d(new KConfigPropertyMapPrivate(this))
+{
+    Q_ASSERT(config);
+    d->config = config;
+
+    // Reload the config only if the change signal has *not* been emitted by ourselves updating the config
+    connect(config, &KCoreConfigSkeleton::configChanged, this, [this]() {
+        if (!d->updatingConfigValue) {
+            d->loadConfig(KConfigPropertyMapPrivate::EmitValueChanged);
+        }
+    });
+    connect(this, &KConfigPropertyMap::valueChanged, this, [this](const QString &key, const QVariant &value) {
+        d->writeConfigValue(key, value);
+    });
+
+    d->loadConfig(KConfigPropertyMapPrivate::DontEmitValueChanged);
+}
+
+KConfigPropertyMap::~KConfigPropertyMap() = default;
+
+bool KConfigPropertyMap::isNotify() const
+{
+    return d->notify;
+}
+
+void KConfigPropertyMap::setNotify(bool notify)
+{
+    d->notify = notify;
+}
+
+void KConfigPropertyMap::writeConfig()
+{
+    d->writeConfig();
+}
+
+QVariant KConfigPropertyMap::updateValue(const QString &key, const QVariant &input)
+{
+    Q_UNUSED(key);
+    if (input.userType() == qMetaTypeId<QJSValue>()) {
+        return input.value<QJSValue>().toVariant();
+    }
+    return input;
+}
+
+bool KConfigPropertyMap::isImmutable(const QString &key) const
+{
+    KConfigSkeletonItem *item = d->config.data()->findItem(key);
+    if (item) {
+        return item->isImmutable();
+    }
+
+    return false;
+}
+
+void KConfigPropertyMapPrivate::loadConfig(KConfigPropertyMapPrivate::LoadConfigOption option)
+{
+    if (!config) {
+        return;
+    }
+
+    const auto &items = config.data()->items();
+    for (KConfigSkeletonItem *item : items) {
+        q->insert(item->key() + QStringLiteral("Default"), item->getDefault());
+        q->insert(item->key(), item->property());
+        if (option == EmitValueChanged) {
+            Q_EMIT q->valueChanged(item->key(), item->property());
+        }
+    }
+}
+
+void KConfigPropertyMapPrivate::writeConfig()
+{
+    if (!config) {
+        return;
+    }
+
+    const auto lstItems = config.data()->items();
+    for (KConfigSkeletonItem *item : lstItems) {
+        item->setWriteFlags(notify ? KConfigBase::Notify : KConfigBase::Normal);
+        item->setProperty(q->value(item->key()));
+    }
+    // Internally sync the config. This way we ensure the config file is written, even if the process crashed
+    config.data()->save();
+}
+
+void KConfigPropertyMapPrivate::writeConfigValue(const QString &key, const QVariant &value)
+{
+    KConfigSkeletonItem *item = config.data()->findItem(key);
+    if (item) {
+        updatingConfigValue = true;
+        item->setWriteFlags(notify ? KConfigBase::Notify : KConfigBase::Normal);
+        item->setProperty(value);
+        updatingConfigValue = false;
+    }
+}
+
+#include "moc_kconfigpropertymap.cpp"
diff --git a/src/qml/kconfigpropertymap.h b/src/qml/kconfigpropertymap.h
new file mode 100644 (file)
index 0000000..9eef455
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+    SPDX-FileCopyrightText: 2013 Marco Martin <notmart@gmail.com>
+    SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
+    SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+    SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGPROPERTYMAP_H
+#define KCONFIGPROPERTYMAP_H
+
+#include <QQmlPropertyMap>
+#include <memory>
+#include <qqmlregistration.h>
+
+class KCoreConfigSkeleton;
+
+#include <kconfigqml_export.h>
+
+class KConfigPropertyMapPrivate;
+
+/**
+ * @class KConfigPropertyMap configpropertymap.h ConfigPropertyMap
+ *
+ * An object that (optionally) automatically saves changes in a
+ * property map to a configuration object (e.g. a KConfig file).
+ * @since 5.89
+ */
+class KCONFIGQML_EXPORT KConfigPropertyMap : public QQmlPropertyMap
+{
+    Q_OBJECT
+    QML_ANONYMOUS
+
+public:
+    KConfigPropertyMap(KCoreConfigSkeleton *config, QObject *parent = nullptr);
+    ~KConfigPropertyMap() override;
+
+    /**
+     * Whether notifications on config changes are enabled. Disabled by default.
+     * @see KConfigBase::Notify
+     * @return true if writes send (dbus) notifications
+     */
+    bool isNotify() const;
+
+    /**
+     * Enable or disable notifications on config changes.
+     * @see KConfigBase::Notify
+     * @param notify whether to send notifications
+     */
+    void setNotify(bool notify);
+
+    /**
+     * @brief Whether the value at the given key is immutable
+     *
+     * @return true if the value is immutable, false if it isn't or it doesn't exist
+     */
+    Q_INVOKABLE bool isImmutable(const QString &key) const;
+
+    /**
+     * Saves the state of the property map on disk.
+     */
+    Q_INVOKABLE void writeConfig();
+
+protected:
+    QVariant updateValue(const QString &key, const QVariant &input) override;
+
+private:
+    std::unique_ptr<KConfigPropertyMapPrivate> const d;
+};
+
+#endif
diff --git a/src/qml/kwindowstatesaverquick.cpp b/src/qml/kwindowstatesaverquick.cpp
new file mode 100644 (file)
index 0000000..893a925
--- /dev/null
@@ -0,0 +1,54 @@
+// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#include "kwindowstatesaverquick.h"
+#include "kconfig_qml_log_settings.h"
+
+#include <QQuickItem>
+#include <QQuickWindow>
+
+#include <KWindowStateSaver>
+
+void KWindowStateSaverQuick::classBegin()
+{
+}
+
+void KWindowStateSaverQuick::componentComplete()
+{
+    const auto parentItem = qobject_cast<QQuickItem *>(parent());
+    if (!parentItem) {
+        qCWarning(KCONFIG_QML_LOG) << "WindowStateSaver requires a parent item";
+        return;
+    }
+
+    const auto window = qobject_cast<QWindow *>(parentItem->window());
+    if (!window) {
+        qCWarning(KCONFIG_QML_LOG) << "WindowStateSaver requires the parent to be a type that inherits QWindow";
+        return;
+    }
+
+    new KWindowStateSaver(window, m_configGroupName);
+
+    // To work around oddities in QtQuick window visibility handling.
+    // If we do not set the window visible now, then our window state is
+    // overwritten during QQuickWindowQmlImpl::setWindowVisibility() because
+    // QQuickWindow is AutomaticVisibility by default.
+    if (window->windowState() == Qt::WindowMaximized) {
+        window->setVisibility(QWindow::Visibility::Maximized);
+    }
+}
+
+void KWindowStateSaverQuick::setConfigGroupName(const QString &name)
+{
+    if (m_configGroupName != name) {
+        m_configGroupName = name;
+        Q_EMIT configGroupNameChanged();
+    }
+}
+
+QString KWindowStateSaverQuick::configGroupName() const
+{
+    return m_configGroupName;
+}
+
+#include "moc_kwindowstatesaverquick.cpp"
diff --git a/src/qml/kwindowstatesaverquick.h b/src/qml/kwindowstatesaverquick.h
new file mode 100644 (file)
index 0000000..cffed86
--- /dev/null
@@ -0,0 +1,54 @@
+// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#ifndef KWINDOWSTATESAVER_QUICK_H
+#define KWINDOWSTATESAVER_QUICK_H
+
+#include <QQmlEngine>
+
+/**
+ * @brief Creates a @c KWindowStateSaver in QML, and assigns it to the window it's parented to.
+ *
+ * Functions exactly as KWindowStateSaver in C++, as it's a small wrapper around it.
+ *
+ * @code
+ * import org.kde.config as KConfig
+ *
+ * Kirigami.ApplicationWindow {
+ *     id: root
+ *
+ *     title: i18n("My Window")
+ *
+ *     KConfig.WindowStateSaver {
+ *         configGroupName: "Main"
+ *     }
+ * }
+ * @endcode
+ * @since 6.5
+ *
+ * @sa KWindowStateSaver
+ */
+class KWindowStateSaverQuick : public QObject, public QQmlParserStatus
+{
+    Q_OBJECT
+    QML_ELEMENT
+    QML_NAMED_ELEMENT(WindowStateSaver)
+    Q_INTERFACES(QQmlParserStatus)
+
+    Q_PROPERTY(QString configGroupName READ configGroupName WRITE setConfigGroupName NOTIFY configGroupNameChanged REQUIRED)
+
+public:
+    void classBegin() override;
+    void componentComplete() override;
+
+    void setConfigGroupName(const QString &name);
+    QString configGroupName() const;
+
+Q_SIGNALS:
+    void configGroupNameChanged();
+
+private:
+    QString m_configGroupName;
+};
+
+#endif
diff --git a/src/qml/types.cpp b/src/qml/types.cpp
new file mode 100644 (file)
index 0000000..d735188
--- /dev/null
@@ -0,0 +1,4 @@
+// SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#include "moc_types.cpp"
diff --git a/src/qml/types.h b/src/qml/types.h
new file mode 100644 (file)
index 0000000..08f4c74
--- /dev/null
@@ -0,0 +1,25 @@
+// SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#ifndef KCONFIGTYPES_H
+#define KCONFIGTYPES_H
+
+#include <QQmlEngine>
+
+#include <kauthorized.h>
+#include <kcoreconfigskeleton.h>
+
+struct KAuthorizedForeign {
+    Q_GADGET
+    QML_NAMED_ELEMENT(KAuthorized)
+    QML_SINGLETON
+    QML_FOREIGN(KAuthorized)
+};
+
+struct KCoreConfigSkeletonForeign {
+    Q_GADGET
+    QML_ANONYMOUS
+    QML_FOREIGN(KCoreConfigSkeleton)
+};
+
+#endif